Perhaps relevant to this discussion is the Old New Thing posts this week. This last one has a good sentence:
http://blogs.msdn.com/b/oldnewthing/archive/2010/08/13/10049634.aspx "If I ruled the world, I would decree that the only thing you can do in a finalizer is perform some tests to ensure that all the associated external resources have already been explicitly released, and if not, raise a fatal exception: System.Exception.ResourceLeak."
