Троелсен он как бы для начинающих и про сам язык + часто используемые классы из BCL.
Рихтер он про внутреннее устройство и не совсем про язык а скорее про внутреннее устройство CLR с примерами на c#. Много внимания уделено производительности, блокировкам, многопоточности. Эту книгу не советовал читать первой, да и второй тоже. Но её прочтение и понимание можно считать переходом на новый уровень профессионализма. Я сначала её читал — мозг кипел и я думал: ну ок, попозже значит. Потом опять попозже. А потом опыт накопился и я её прочел. И периодически заглядываю, перечитываю нужные места. Рихтера и Скита.