IDisposable for Dummies

There are multiple explanations for how to use IDisposable. I get it now, so here goes: The complex bit here is the trust that all IDisposable objects behave like this. Basically, an object should never let itself leak an unmanaged resource. Thus, it frees unmanaged resources both when Dispose() is called and on from the Finalizer.