Почему jQuery.getScript с использованием setInterval приводит к зависанию страницы?
А вы используете средства разработчика (FireBug/Chrome Inspector) или расширения браузера? попробуйте отключить всю эту гадость, ситуация должна улучшиться. 

Например, фаерфоксовский фаербаг и хромовский инспектор известны своими зависаниями и адским потреблением ресурсов (памяти) на сложных страницах. Фаербаг еще и течет (не осовобождает занятую память) при этом.

Ну и конечно, кроме этого, задачу вы решаете абсолютно криворуко и неправильно. Для этой задачи не нужны ни getScript (который фактически добавляет к странице элемет script), ни тем более воркеры (которые не будут работать в ИЕ). Надо просто делать обычный $.ajax(), а результат отдавать в виде JSON, и все у вас заработает.
Про использование JSON верно написали. Можно еще поглядеть в сторону COMET, но там будет несколько посложнее, доведется еще сервер конфигурировать под это.