В браузере есть сборщик мусора, поэтому проблем с этим нет. до тех пор, пока вы не введете утечки памяти из-за плохого кода. вот статья и другая статья о шаблонах утечки памяти. это должно помочь вам начать программировать эффективно и снимать код с утечкой.
также, вы должны рассмотреть DOM. человек в SO однажды сказал, что «вещи, которые не отображаются на экране, должны быть удалены, а не просто скрыты» - это не только удаляет сущность в перспективе просмотра, но фактически удаляет ее из DOM, удаляет ее обработчики и память используется будет освобожден.
Что касается setTimeout, увеличьте интервал между вызовами. Слишком быстро, вы будете быстро жевать память (и визуализировать страницу довольно ... медленно). Я только что проверил код для обнаружения «hashchange» на основе таймера, и даже в chrome он делает страницу довольно медленной.
исследуйте ошибки хрома и постоянно обновляйтесь.