artcraft, спасибо... и очень хорошо бы с русским переводом, т.к. там важно буквально каждое слово.
Похоже GC срабатывает, когда происходит перераспределение памяти. Например, если к моему последнему тесту, благополучно проработавшему два часа так и не удалив мувик из памяти, добавить в руте такой код:

Код:
var ar:Array = new Array();
var tm:Timer = new Timer(1000);
tm.addEventListener("timer", timerHandler);
tm.start();
function timerHandler(event:TimerEvent):void {
trace("timerHandler: " + getTimer());
for (var i:uint=0; i<1000; i++) {
ar.push( new Sprite() );
}
}
Фактически просто начинаем активно "кушать" память. То реальное удаление мувика Test из памяти происходит примерно через три секунды (перестает срабатывать EnterFrame).
Значит useWeakReference из функции addEventListener работает корректно, и его можно использовать для событий типа click, mouse..., focus... Которые зависят от самого мувика.
Для событий срабатывающих самостоятельно, типа enterFrame, activate... придется прописывать отдельную функцию на удаление всех созданных Listeners и запускать ее вручную или по Event.REMOVED, смотря по ситуации.