Вот классическая утечка памяти в IE: -
function body_onload()
{
var elem = document.getElementById('someElementId');
// do stuff with elem
elem.onclick = function() {
//Some code that doesn't need the elem variable
}
}
После выполнения этого кода существует циклическая ссылка, потому что элемент имеет функцию, которой назначено событие onclick, которое ссылается на объект области действия, который в свою очередь содержит ссылку на элемент.
someElement-> onclick-> функция-scope-> elem-> someElement
В IE DOM элементы - это объекты подсчета ссылок на основе COM, которые Javascript GC не может очистить.
Добавление последней строки в приведенном выше коде очистит ее: -
var elem = null;