EDIT: This question is a duplicate of What is the difference between managed and native resources when disposing? (.NET) and many others. Please answer the
Implement IDisposable when you have a class what wraps an unmanaged resource or when your class has a field that implements IDisposable.