Question: what is the difference between finalize() and dispose() methods in c#?
Answer: Finalize is the backstop method, called by the garbage collector when it reclaims an object. Dispose is the "deterministic cleanup" method, called by applications to release valuable native resources (window handles, database connections, etc.) ... As the user of an object, you always use Dispose. Finalize is for the GC.