УЖАС!!!!

Код:
package
{
import flash.display.Sprite;
import flash.system.System;
public class Main extends flash.display.Sprite
{
private var d:Array
public function Main():void
{
var n:int = 10000000, i:int;
d = new Array();
trace(System.totalMemory);
for (i = 0; i < n; ++i)
d[i] = 0.123;
trace(System.totalMemory);
for (i = 0; i < n; ++i)
d[i] = d[i] + d[i] + d[i] + d[i];
trace(System.totalMemory);
}
}
}
После второго цикла используется в два раза больше памяти! Причем gc ее не освобождает (проверял отдельно)
Это что же получается - работаешь с массивом не добавляя в него новых элементов, а он потихоньку сжирает память непонятно куда
Знатоки as3 объясните в чем дело?
Кстати если тип всех элементов int, то все нормально.