Хороший обзор того, как и почему в С# вводились какие-то концепции по мере развития языка, и как некоторые вещи схематично реализованы на IL. Рекомендую книгу тем, кто уже хорошо знает какой-то язык программирования и хочет изучить C# пропуская базовые концепции