Turning off ResetOnSpawn for a ScreenGui triggers Infinite yield possible on 'Customization:WaitForChild("NextButton")'

I have no idea what is happening here I just turned off ResetOnSpawn for some ScreenGui and now the WaitForChild is waiting forever when the button already exist in the player GUI

local NextButton = script.Parent
local ClassSelection = NextButton.Parent
local PlayerGui = ClassSelection.Parent
local Customization = PlayerGui:WaitForChild("Customization")

local NextButton = Customization:WaitForChild("NextButton")

Note: the script is over 355 line