On one hand, it is clear that an Object handling an event has to unregister himself of that event before it ends, to avoid not been cleared from the memory by the CG – especially when it lives longer than the “Event Raiser” object.
But, on the other hand, I wonder if it is possible to encounter this problem on the web server… Is it possible that the server will keep this object alive, even if the execution context (i.e. the web session) has died? Are’nt all the objects related to a session cleared with the session itself?
Consider implementing Weak Event Patterns:
http://msdn.microsoft.com/en-us/library/aa970850.aspx