Guis in StarterGui don't GC?

I have noticed that repetitively calling Player:LoadCharacter() (50 times for testing), the GUI section under memory will raise however after waiting minutes later, this does not drop. There are no scripts in the GUI and it has the RestOnSpawn property on. (Note: Most of the frames in the GUI were not made visible in this)

I’m not sure if I’m doing something wrong and my knowledge on garbage collection isn’t much so I won’t post this as a bug report yet.

Result1


Few mins later still the same:

To get around this, I put the GUI in a folder in ReplicatedStorage, and cloned it into PlayerGui with a local script on each Player.CharacterAdded.

Code
local plr = game.Players.LocalPlayer

    plr.CharacterAdded:Connect(function()
    	for _,v in pairs(game.ReplicatedStorage.Folder:GetChildren()) do
    		v:Clone().Parent = plr.PlayerGui
    	end
    end)

This was the result I got:

Result2

‎‎

Hopefully someone can explain why this is to me.