If your code has a fatal error it will never call the close hook code, is the point I think.

Try it:

'set subclass hook here
...
Dim A
A= 1/0


Now watch the chain of events : subclass hook never removed, PC goes down...