Как изучить ООП С#?
В каких книгах можно получить полные сведения об ООП, о том как и где использовать его принципы или ,те или иные приемы ООП? -  ни в каких. Надо понять, что ООП не НЕ универсальное средство. Это инструмент создания больших и сложных проектов. Вам действительно дали азы и начала. Для общего понимания, для привыкания. А вот когда "дорастете" до серьезных проектов, начнете применять (а не по книгам "изучать") ООП на практике -  вот тогда и придут понимание.  Причем приходить будет постепенно, вместе с ростом вашего опыта. Бесполезно на уровне "изучаю язык программирования по книгам" беспредельно углубляться  в тему, в ООП в том числе. Начните писать реальные проекты. Причем, для первых, несложных проектов ООП тоже будет либо ни к месту, либо даже вредно.  Но вот потом, когда задачи станут действительно сложными -  вот тогда все станет на свои места. И вот тогда можно будет сказать, что вы знаете, понимаете и к месту применяете ООП. 
Хотя, разумеется, сейчас набегут сюда новички, которые наперебой начнут советовать всякие книги и сайты для того что бы быстрее стать "профессионалам".  В этом и есть прелесть получения подсказок на форуме -  в том, что вам насоветуют десяток разных вариантов решения проблемы. А вот выбор -  все равно останется за вами.
На практике. +любая нормальная книга по паттернам, отедльно по алгоритмам и структурам.