Что-то я совсем запутался...
Допустим такая ситуация:
Есть объект obj1, и на нём висит слушатель:

Код AS3:
obj1.addEventListener(MouseEvent.CLICK,mClick);
Этот объект добавляется на другой объект:

Код AS3:
obj2.addChild(obj1);
stage.addChild(obj2);
Теперь если сделать:

Код AS3:
stage.removeChild(obj2);
Что произойдёт с obj1 и его слушателем? Они
попадут в рай будут удалены колектором мусора, или пока принудительно не удалён слушатель, то и объект будет жить в памяти?
получается что в каждом объекте правильно вешать на REMOVED_FROM_STAGE - удаление всех его детей?