heap exhausted with matrix usage



Hi list,

i stumbled upon the following
which produces without the kill
a heap exhausted error on my 2Gb machine
under fedora 17 and sbcl 1.0.57-1.fc17
(I can give further information if necessary)

------------------------------
display2d : false;
my_M(n) := ident(n);
my_work(n) := block(
         [res:0,M],
         M : my_M(n),
         M[1,1] : 2,
         /* kill(M), */
         res : n,
         return(res)
);
for k : 1 thru 10 do block(
         h : my_work(3000),
         print(k,h)
);
------------------------------

kill fixes the heap exhausted error,
but top shows nevertheless usage of 800 Mb resident memory

Question:
Is this expected behavior?
I expected a memory usage definitely under 100 Mb resident memory

Regard Andre