This is a rather basic question, however I\'m still struggling with it a little.
IDisposable is implemented, when you want to enable the user of an object to free un
When you provide explicit control using Dispose, you should provide implicit cleanup using the Finalize method. Finalize provides a backup to prevent resources from permanently leaking if the programmer fails to call Dispose.
I think best way to implement this is use combination of Dispose and Finalize method. You can find more Here.