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
Does Value types always allocated on the stack ?
Another Important article by Alexandra Rusina which explains the difference between dynamic and object keywords usage