That doesn't even compile with latest version of BlitzMax as Release is just for decrementing the reference count of an object when using integer handles (w is a proper object reference so w=null is correct way of decrementing the object's count).
However either way the object is still referenced by the list, you need to remove it from the list using:
However either way the object is still referenced by the list, you need to remove it from the list using:
whatlist.Remove w