OK I just tried added a nested method that destroys the instance and it shows that the type isn't killed until the original method is exited, not just the nested one, which is to be expected:
Strict Type TTest Method Bang() Nested() Print "nested" End Method Method Nested() KillTest() Print "hello" End Method Method More() Print "more" End Method End Type Global t:TTest = New TTest t.Bang() 't.more() 'uncomment this line Function KillTest() t = Null End Function