Keeping Loader contents after Loader removed from memory

I’m loading some images with Loaders, cloning the BitmapData to a new Bitmap, and adding the Bitmap as a child of a Sprite. So far, so good.

I want the Loaders I’m using to be removed by garbage collection, which they seem to be. The problem, or so it seems, is that when the Loaders are cleaned up, the Bitmaps I’m creating lose their data.

Edit: All this is happening when a class is instanced, and many copies of this class are being used as actors in a game. As the Actors are being created the older ones are losing their BitmapData to garbage cleanup. When all of them are finally loaded, only the last few are visible. I’ve rewritten my posted code as a class.

If I prevent the Loaders from being cleaned up by somehow keeping a reference to them, the Bitmaps don’t lose the data, but I don’t want these Loaders hanging around.

public class Actor extends MovieClip
var myGraphic:Sprite;

public function Actor( filename:String )
    myGraphic  = new Sprite;
      addChild( myGraphic );
      var loader:Loader = new Loader;
      loader.contentLoaderInfo.addEventListener(Event.COMPLETE, finishLoad);
      loader.load(new URLRequest(filename));

  public function finishLoad( e:Event ):void
      var bit:Bitmap = new Bitmap( Bitmap( LoaderInfo( ).bitmapData.clone() );
      this.myGraphic.addChild( bit ); Event.COMPLETE, finishLoad );


How can I create a copy of the contents of a Loader that is independent of the Loader?