値型の場合・・・・・変数宣言した瞬間にスタック上にインスタンスが生成される。
参照型の場合・・・変数宣言した瞬間にスタック上に参照情報が生成され、初期値としてnullが入る。
ということですよね?

実は手元の入門書で↓のような例文で、
int hoge
hoge = 123;
object obj;
obj = (object)hoge;

「object obj; で、変数objのインスタンスをヒープ上に生成し、参照情報をスタック上に格納」
とあって混乱したのですが、間違いってことでしょうか?