「標準C#.NET 1」と言う黄色い本でC#を勉強しています。
P78〜79のサンプルでよくわからないところがあります。

using System;
class ObjTest
{
〜中略〜
ObjTest c1 = new ObjTest();
〜中略〜
ObjTest c2 = c1;
Object c =c2;
〜以下略
c2への参照の代入は型が合っているので納得できるのですが、
cへの参照の代入は、System.Objectクラスの参照型への代入なので
エラーになるように思えます。
何故なのでしょうか?

たしかにVBではObject型に好きなオブジェクト型をいれれたので、
それと同じといえば同じですが、もっと型に厳しい言語ですよね?
ここだけアバウトなのでしょうか?