from
http://msdn.microsoft.com/library/en-us/cpguide/html/cpconusingcdestructorsyntax.asp?frame=trueYou cannot call or override the Object.Finalize Method from the C# or the Managed Extensions for C++ programming languages. C# and the Managed Extensions provide destructors as the mechanism for writing finalization code. You must use the destructor syntax in C# and the Managed Extensions to perform cleanup operations.