Yes, you will see that it is destroyed, but in fact it is not. Try this line instead: define button of oBar action (oBrw:End(), oBrw:display(), msgInfo(valtype(oBrw)) ) It does not error out when oBrw:display() is called, and oBrw is still an "O" type, thus not destroyed. So, even though ...