я написал следующий код для загрузки довольно больших изображений
каждый раз при срабатывании mouseClick приложение продолжает есть память
хочу спросить, все ли правильно в этом коде и память не освобождается из-за того, как работает GC или я что-то упустил? спасибо

Код AS3:
// imageLoader.as
package {
import flash.display.Loader;
import flash.net.URLRequest;
public class imageLoader {
var fname:String;
var loader:Loader;
public function imageLoader(fname:String) {
this.fname = fname;
}
function init() {
loader = new Loader();
var request:URLRequest = new URLRequest(fname);
loader.load(request);
}
}
}
// test.as
package {
import flash.display.MovieClip;
import flash.display.Graphics;
import flash.events.MouseEvent;
import imageLoader;
public class test extends MovieClip {
var mapImg:imageLoader;
public function test() {
var mc:MovieClip = new MovieClip();
mc.graphics.beginFill(0xff0000, 1);
mc.graphics.drawCircle(0,0,100);
mc.graphics.endFill();
addChild(mc);
buttonMode = true;
addEventListener(MouseEvent.CLICK, mouseClick);
}
private function mouseClick(e:MouseEvent) {
if (mapImg != null) {
// строка ниже удаляет, насколько я понимаю, распакованную копию изображения из памяти, но не оригинал
Bitmap(mapImg.loader.content).bitmapData.dispose();
mapImg.loader.unload();
mapImg.loader = null;
mapImg = null;
}
mapImg = new imageLoader("image.png");
mapImg.init();
}
}
}