If you implement an interface IDisposable, then your class object can be used by using a block that automatically invokes the method Disposeimplicitly.
From answer from JaredPar
There are only 2 reasons to implement IDisposable for type
- The type contains its own resources that should be freed when the type is no longer used.
- The type contains fields of type IDisposable
- IDisposable , ?