I would start of at MSDN. Microsoft has tons and tons of information available on how the CLR works, garbage collection and many more of the principles that take place behind the code.
Also MSDN tends to have the Wikipedia effect, once you start clicking on a specific subject you'll find out about tons of other subjects you might not know about or was even looking for, none the less interesting. You don't get that from a book ;)
If your goal is to become a better programmer by this you might also want to check out Best practices and coding patterns. Don't throw c# into the corner and start wasting your time on one of the other languages unless it's F# (this could give you some insight into coding from a functional perspective). Microsoft is going to get all language features available in both C# and VB.Net (and languages to come). I think they call that unified coding (or some other buzz word they thought for it) :)