But basically if a method of a type calls an external function that kills the global instance of the type, the type won't get killed until the method exits.
Don't think of it as something you should memorize about how blitz works on killing your type instances. An instance is dead, to you, when you have no way of accessing it. Thats all that matters. Blitz will go ahead and internally clear the RAM of a dead instance whenever it wants to it doesn't really matter.
Inside the method you can still access the instance with Self.whatever, even after t is set to null. That's how you are still able to use the instance. Once the function exits, you have no way of accessing the type. it may or may not exist in ram, to you its just gone because you have no variable in your code that lets you get to it.
sorry I was babbling. this stuff took me a while to figure out.