Here are the links for some of the nice articles written by Eric Lippert.. The design engineer at Microsoft's developer Division
Not Everything in C# derives from System.Object
http://blogs.msdn.com/b/ericlippert/archive/2009/08/06/not-everything-derives-from-object.aspx
Does Value types always allocated on the stack ?
http://blogs.msdn.com/b/ericlippert/archive/2009/04/27/the-stack-is-an-implementation-detail.aspx
Another Important article by Alexandra Rusina which explains the difference between dynamic and object keywords usage
http://blogs.msdn.com/b/csharpfaq/archive/2010/01/25/what-is-the-difference-between-dynamic-and-object-keywords.aspx