1. циклических переходов в общем-то нет, или может я не совсем понял о чем речь... Ты имеешь ввиду из главного меню в сабменю, а потом обратно?
2. стек очищается как только встречает уже имеющееся состояние. Да, это не совсем чистый стек, но просмотр внутренностей безвреден для системы. Пуш/поп происходят как и полагается, с принципом LIFO. Так как число состояний конечно, бесконечный рост невозможен
Ну у тебя следующий шаг может быть такой же как какой-то в прошлом. Например, у меня вполне реальный кейс: введите почту, введите текст, введите ещё почту , введите ещё текст, нажмите готово