Могу поспорить, что эта версия не зависает, нет причины, по которой она должна это делать.
Последовательности Коллатца, прежде чем вы нажмете 1 во внутреннем цикле while, слишком короткие, чтобы привести к заметной задержке, иесли они будут, это всегда должно происходить с одинаковыми номерами.
Если вы добавите консольный вывод в цикл, это может выделить память, и паузы, которые вы видите, могут быть вызваны сборкой мусора.