Если интересует конкретно C#, то, наверное:
Роберт Мартин, Мика Мартин, Принципы, паттерны и методики гибкой разработки на языке C#
Но вообще, я не думаю, что при выборе книг по ООП важна привязка к какому-то конкретному языку. Все таки в такой литературе излагаются базовые вещи, которые применимы при работе с любым объектно-ориентированным языком.
Вот здесь почти все основные книги по ООП уже перечислили:
habrahabr.ru/qa/14204/