The IDisposable interface should be applied to classes that hold unmanaged resources, either directly or indirectly. When developing using parallel programming or multi-threading techniques, IDisposable should be implemented in a thread-safe manner.
Read More - Register for Free Membership