A very nice blog series is available within the following links. They describe the native memory layout of .Net objects. Knowledge about this allows specific optimization when a huge number of objects is handled…
Have fun!
Managed object internals, Part 2. Object header layout and the cost of locking
Managed object internals, Part 3. The layout of a managed array