>> 1. Что за мягкие ссылки?

Код AS3:
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, <b>useWeakReference:Boolean = trueb>):void
>> 2. Можно ли отписывать событие, если оно не было подписано (что вообще будет?)

Код AS3:
hasEventListener(type:String):Boolean
// Проверяет, имеет ли объект EventDispatcher прослушиватели, зарегистрированные для определенного типа события.
>> 3. delete используется для удаления полей в динамическом классе, а можно ли как-то удалить сам динамический класс из памяти (я конечно понимаю что он сам удалится со временем если на него нет ссылок, но а самом можно?)?
Ну это не плюсы, тут виртуальная машина всё решает. Всё что мы можем сделать это занулить все ссылки на объект дабы повысить вероятность очистки. Вручную сборщик мусора запускать не рекомендуется.
справка