2__etc
Он ведет себя так как будто эта память занята.
Вот код проверки этого:

Код:
package
{
import flash.display.SpreadMethod;
import flash.display.Sprite;
import flash.events.Event;
import flash.system.System;
import flash.utils.Dictionary;
import flash.utils.getTimer;
public class Main extends flash.display.Sprite
{
private var d:Array;
public function f(n:int):void
{
var s:Sprite;
var a:Array = new Array();
for (var i:int = 0; i < n; ++i)
{
s = new Sprite();
a.push(s);
}
}
private function efl(e:Event):void
{
trace(System.totalMemory);
f(1000);
}
public function Main():void
{
var n:int = 10000000;
var i:int;
d = new Array();
for (i = 0; i < n; ++i)
d[i] = 0;
trace(System.totalMemory);
for (i = 0; i < n; ++i)
{
d.pop();
}
trace(System.totalMemory);
stage.addEventListener(Event.ENTER_FRAME, efl);
}
}
}
Тем более судя по тормазнутости работы Array и по тому что ключи могут быть не только целые, Array скорее всего реалзиован в виде какого то сбалансировнного дерева, так что простым GC тут не обойтись - нужна перестройка дерева.