If I write a class in C# that implements IDisposable, why isn\'t is sufficient for me to simply implement
public void Dispose(){ ... }
to han
There's a bit of bias in the MSFT docs about the disposable pattern. There are two reasons you should implement IDisposable:
Case 1 is pretty common in most code. Case 2 is pretty common in code that Microsoft writes, they were the ones that wrote the managed wrappers around the unmanaged resources, the ones that need finalization. But should be very uncommon in your code. After all, you've got all those nice .NET classes to do the dirty work for you. You just have to call their Dispose() methods.
Only case 2 requires the disposable pattern. Microsoft needs to use it a lot. You'll just need the simple Dispose() most of the time.