1.This is the C# equivalent of destructor
syntax in C#.
In VB.Net you implement the
by overriding it. But, in C# the compiler translates the destructor to a
can NOT be overridden or called in C#.
is called by the Garbage Collector,
it is non-deterministic.
1. This has to be implemented in classes implementing
2. Its the right place for freeing-up unmanaged resources
like file, handles, and connections etc.
method is called explicitely in the code itself.
method is automatically called (for objects which implement IDispose), when used in a "
Refer more detailed description with example on MSDN: Finalize and Dispose
Dispose Vs Finalize
Finalize() and Dispose() methods in .Net?