>>655
よくわかりました。ありがとうございます。
>>654の場合 (A) が実行されるとスタック上の s と o が参照するヒープ上のインスタンスが存在して
これらは、まったくの別物って考えなんですね。

逆に、(A) の後に
ST s2 = (ST)o;
を実行した場合、スタック上に値 s2 が確保されて o が参照するヒープ上のインスタンスの
内容をコピーするということになるんですかね?

しかし、値のコピーをヒープに作って、その参照を保持なんて器用なことをしているとは・・・
C#・・・あなどれん・・・