It is confusing to have ```Cleanup``` method being an override method at the same time being marked as ```TearDown```. Ideally we should only mark the base class ```UnitTestBase.Cleanup``` method as ```TearDown```, and let the inheritance hierarchy takes care of everything else (which is what I have changed here).