Player reboot implementation issue

I’ve implemented a player reboot mechanism, where every player has 2 reboots - which i track using a map.

For some specific players, it will consistently not work in game, they will not be respawned .
Even through different game sessions, those players will not reboot on elimination.
For most players, it will work every time.

The reboot function

   RebootPlayer(Player: player)<suspends>: void=

        PlayerRebootCount := RebootPerPlayer[Player] or 0

        if(PlayerRebootCount >= MAX_REBOOTS_PER_PLAYER):

            Print("Reboot - reached max reboots")

            return


        if(set RebootPerPlayer[Player] = PlayerRebootCount + 1) {}

        Sleep(1.0)

        

        RemainingReboots := MAX_REBOOTS_PER_PLAYER - PlayerRebootCount - 1

        TeleporterCount := RebootTeleporters.Length

        TeleportedIDX := GetRandomInt(0,TeleporterCount - 1)

        if:

            Teleporter := RebootTeleporters[TeleportedIDX]

        then:

            Player.Respawn(Teleporter.GetTransform().Translation, Teleporter.GetTransform().Rotation)

            Teleporter.Teleport(Player)

        else:

            Print("Reboot2 FAIL")

            AnalyticsDebugReboot1.Submit(Player)

The reason I’m teleporting after the respawn is to have the player sky dive into the map.
Any idea why this would consistently fail for specific players?

AnalyticsDebugReboot1.Submit(Player) - does not appear in my analytics.