На codeproject появилась
небольшая статья от Ben Watson (это который
Writing High-Performance .NET Code).
Из интересного:
* Аллокация объектов: в лучшем случае new() вместе с выделением памяти укладывается в 9 asm-инструкций

* Минимальный размер объекта — 12 байт (для x86). Как бы известный факт, но в куче блогов почему-то пишут только про 8 байт заголовка.
* Создание объекта с финалайзером заметно дороже. Тоже известно, но напомнить не помешает.
Кое-что было у других авторов и у самого Ben Watson в
его блоге, но в виде одной короткой статьи не попадалось. По уровню напоминает классику типа
%subj% UNDOCUMENTED от Wesner Moise или
.NET Type Internals от Adityanand.