Случайно натолкнулся на такую вещь.

Код:
import flash.display.BitmapData;
var bm:BitmapData;
function createBitmap() {
bm = new BitmapData(200, 200, false, 0xFF000000);
}
onEnterFrame = createBitmap;
Тут все ок.

Код:
import flash.display.BitmapData;
function createBitmap() {
var bm:BitmapData = new BitmapData(1000, 1000, false, 0xFF000000);
}
onEnterFrame = createBitmap;
Во втором варианте наблюдаются некислая утечка памяти, которая периодически очищается коллектором. Фактически мы наблюдаем механизм очистки по меткам, но интересует другой вопрос - кто виноват и что делать, а точнее - если где-то создаются неявные или перекрестные ссылки на созданные экземпляры BitmapData, так что их приходится удалять по меткам, то почему этого не возникает в первом варианте?
