Вопрос такой: При использовании следующего кода

Код AS3:
mc.addEventListener(Event.ENTER_FRAME, function(e:Event):void {
trace("warking");
});
mc.removeEventListener(Event.ENTER_FRAME, function(e:Event):void {
trace("warking");
});
В output все время выводится "warking". Когда использую слабую ссылку и обнуляю обьект

Код AS3:
mc.addEventListener(Event.ENTER_FRAME, function(e:Event):void {
trace("warking");
}, false, 0, true);
mc = null;
Все равно в output все время выводится "warking". Почему так? Проблема в том что сборщик мусора все еще не принялся за уничтожение? Или здесь есть нюанс немного по-серьезней?