Первое что пришло в голову из реальных проектов:
1) Сохранение отчетов в разных форматах: например в Excel, xml, html.
2) Переопределение методов вида OnSomeEvent(...)
3) Создание кастомных коллекций, типа ReadOnlyBindingList и т.д.
4) Базовый класс объектов предметной области, предоставляющий какую-то базовую функциональность, а уже унаследованные объекты перегружают методы типа Validate() и т.д.
5) Можно взять пример из BLT — базовый класс DataProviderBase и уже конкретные реализации провайдеров СУБД — MySqlDataProvider, OracleDataProvider и др., которые переопределяеют методы типа CreateConnectionObject и т.д.