What happens is the Script/LocalScript does not terminate and keeps running. When outputting the Parent to the Console it appears to be parented to itself: running a loop that does not terminate on it’s own causes a very distinct Memory Leak and has serious Server Side consequences (e.g. parts being created on a loop multiply every time :LoadCharacter() is called because a new consecutive loop is created with the old one still running).