On the article about the Script object, it states that a script will terminate when its Disabled property is set to false or the script is no longer a descendant of Workspace or ServerScriptsService.
This however is not the case when the script is a descendant of a player’s PlayerGui. It doesn’t matter whether the script initiated there or whether it was moved while running, it will run regardless.
I suggest adding PlayerGui to the list in the second bullet point.
Edit: scripts also run in backpacks as mentioned by @madattak so I suggest adding that to the list as well.