Всякий раз, когда класс реализует метод, такой как Close (), который выполняет ту же работу, что и Dispose (), рекомендуется явно реализовать интерфейс IDisposable, так что разработчик обычно будет видеть только метод Close (), но пока метод Dispose по-прежнему доступен через интерфейс IDisposable для использования средой, в которой ожидается метод Dispose.
Иногда имеет смысл по существу выставлять Dispose под другим именем, например Close, где это делает для более читабельного кода. Вы видите их в .NET Framework с такими вещами, которые могут быть «закрыты», такими как дескрипторы файлов и соединения.
Редактировать: см. http://www.amazon.com/Framework-Design-Guidelines-Conventions-Development/dp/0321246756