Refactoring, cleanup, another unit test

Simplified Disposable and isolated key differences/standardized usage
of AsyncDisposable.