It depends on your goals, if you want a deep understandigyou must learn ho CLR works:<p>This book can be a good start:
> <a href="https://www.amazon.com/CLR-via-4th-Developer-Reference/dp/0735667454" rel="nofollow">https://www.amazon.com/CLR-via-4th-Developer-Reference/dp/07...</a><p>Anyway, if you have specific needs, the knowledge needed may vary.
For LOB applications (IMHO) very often performance issue have to be searched in I/O (RDMS / WebServices / RPC), these times in all depends a lot on query tuning, optimization of data transfer via specific binary protocols etc... so C# internals not come to an help (even if i think that knowing it may be really precious).<p>If you are facing applications with numerical analysis and/or greedy algorithm you could give a look at stackalloc/unsafe programming.
This links is a good start:<p><a href="http://content.atalasoft.com/h/i/58208059-improving-performance-through-stack-allocation-net-memory-management-part-2" rel="nofollow">http://content.atalasoft.com/h/i/58208059-improving-performa...</a><p>Hope this helps :)