garbage collector ( тоесть сборщик мусора ) срабатывает по разным правилам, как правило данный метод реализовывают разработчики браузеров. Он не срабатывает сразу же после удаления объекта, а срабатывает в промежутках определенного времени. Тоесть с неким интервалом. Например в ИЕ если удалить объект посредством
delete obj; сборщик может не освободить память, понятия не имею как он у них работает, но для ИЕ часто нужно делать явную потерю ссылки тоесть:
var obj = {}
window.obj = null;
Назначая переменной значение null, в реестре замыканий происходит отчисление числа количества принятых ссылок. Когда число ссылок равно нулю, сборщик уничтожает объект.
К сожалению функция delete не гарантирует отчисление от счетчика замыканий, поэтому лучше использовать именно null;