Class variable redefinition

When i execute following code:


//in the .fla file:
import test1;
var x1:Object = new test1();
x1.addIt("ellow");

//delete x1;

var x1:Object = new test1();
x1.addIt("hi");

//in a .as file
class test1 {
        private var arr:Array = new Array();
        public function addIt(a:String) {
                arr.push(a);
                trace("DISPLAY")
                for (var i in arr) {
                        trace(arr*);
                }
                trace("END DISPLAY")
        }
}

It gives the following result:
DISPLAY
ellow
END DISPLAY
DISPLAY
hi
ellow
END DISPLAY

This is very weird, one could expect that the x1 object would be redefined, and the Test1 class would have an empty array. More striking is the following: when we UNcomment the delete statement, there is NO CHANGE AT ALL.
Does anybody have an idea to erase x1 from te memory?