Тебя смущает, а ты всё равно выходишь. Мыши кололись...
И никто не разрешал так выходить, но и защиты "от дурака" не встроено.
Сбои происходят при определённых условиях. Могу пример показать. Но зачем? Сказано же нельзя и умом тоже понимаешь...
Адрес вызова не стирается, для скрипта ты по прежнему в подпрограмме. И в стеке лежит адрес возврата.
Если войдёшь снова по вызову - то ты в новой подпрограмме. Рекурсия однако. Только неправильная, без нормального конца.
Если входишь по вызову в другую ПП - штатная вложенность вызовов. Опять же без возврата.
Т.е. и подпрограммы как таковой нет, как будто всё на педалях GOTO. +утечка и возможные проблемы.
При благоприятных условиях только маленькая утечка памяти в виде адресов возврата в стеке.
При неблагоприятных - поведение работы не ожидаемое вплоть до ухода вразнос.