Why does the __del__ get called for a class when all I am doing is creating an object? It seems to be a problem.. E.g class ClassFoo: def __del__(self): print "Delete called" x=ClassFoo() print "Program End" Costas