こっちが呼び出し例。
AppDomainのアンロード後、もう1度呼び出そうとしても例外が起きるのを確認してちょ。

using System;

class Test
{
  public static void Main() {
    try {
      AppDomain domain = AppDomain.CreateDomain("MyDomain");

      Hello h = domain.CreateInstanceAndUnwrap("Hello", "Hello") as Hello;
      Console.WriteLine( h.SayHello() );

      AppDomain.Unload(domain);

      // AppDomainをアンロード後、もう1度呼び出してみる。
      Console.WriteLine( h.SayHello() );
    }
    catch (Exception x) {
      Console.WriteLine("例外 : " + x.Message);
    }
  }
}