Types that allocate unmanaged resources should implement IDisposable to allow callers to release those resources on demand. ...