TeleportService:Teleport[Async] forever stuck if exampleLoadingScreen argument cannot be cloned

The customLoadingScreen argument in both TeleportService:Teleport and TeleportService:TeleportAsync usually has some sort of ScreenGui or whatnot sent to it, however in cases where an Instance that cannot be cloned is sent as an argument, the teleport function is forever stuck on that failed teleport.

Example video showcasing permanent teleport failure:

Code in the video:

local TeleportService = game:GetService("TeleportService")
local Teleport = TeleportService.Teleport

local ExampleInvalidGui = game -- anything that can't be cloned
warn(pcall(Teleport, TeleportService, game.PlaceId, game:GetService("Players").LocalPlayer, nil, ExampleInvalidGui))

-- teleportservice is forever stuck on the previous teleport that just failed, so any further teleports in the while loop
-- will error that the previous teleport is in processing forever

while task.wait(1) do
	print(pcall(Teleport, TeleportService, game.PlaceId))
end

Even calling TeleportService:Teleport on the server results in the same error, with the failure to teleport the client:

Of course, the same issue applies to TeleportAsync given an incorrect exampleLoadingScreen argument.

System Information (although likely not needed in this case): 11th Gen Intel(R) Coreā„¢ i7-1165G7 @ 2.80GHz, 16.0 GB, Intel(R) Iris(R) Xe Graphics

Place Reproduction File:
TeleportDemo.rbxl (56.9 KB)

Expected behavior

I expect that future attempts to teleport will succeed, instead of being permanently stuck on the teleport that errored.

Hi, thanks for the report. We will take a look and get back to you.

Copy and pasted from my flagged reply:

Somewhat related, if you run this code on the server of your game:

game:GetService("TeleportService"):TeleportPartyAsync(game.PlaceId, {game:GetService("Players"):GetPlayers()[1]}, nil, ExampleInstanceThatCannotBeClonedLikeGame)

the server hard crashes. Could you add some typechecking to the last argument (which is the customGui argument) so this does not happen? Thanks.