構造体に関する質問です。

public struct ST
{
 int Val
}

public class TestApp
{
 public static void Main()
 {
  ST s;
  s.Val = 1;
// 代入
  object o = s; // --- (A)
  // 関数の引数 object として渡す
  Func(s);
 }

 public static void Func(object o)
 {
  // -- (B)
 }
}

上記 (A) で構造体 ST の実態 s を object の参照 o に代入した場合に
BOX化というのが行われるとあるのですが、objectの参照に何が入るのかがわかりません。
構造体 ST をラップした無名のクラスのインスタンスとかが生成されるのでしょうか?
また、上記 (B) の個所で Main の構造体の実態 s は変更不可なのでしょうか?