う〜ん。やはりフォームの動きを分かっていない人が多そうだな。
VB初心者質問スレなのでしかたないのか。

本当はちゃんと説明したいとこなんだが、こんな所に書ける量じゃ
ないのでヒントだけ。

フォームはクラスとほぼ同じ動きをする。
本来フォームはSet MyForm = New Form1として作成する。
Form1.Showが動くのは暗黙にPublic Form1 As New Form1という宣言があるため。
フォームはロードされるとFormsコレクションに参照が追加される。
フォームはアンロードされるとFormsコレクションに参照が削除される。
Loadが発生するのはフォームがロードされたとき
Unloadが発生するのはフォームがアンロードされたとき。
Unload Form1はForm1の暗黙のインスタンスをアンロードしている。
Unload MeはForm1のインスタンスである自分をアンロードしている。
Set Form1 = Nothingは暗黙の変数にNothingを代入している。
Set Me = NothingはMeは変数ではないので意味ない。
フォームのプロパティまたはフォームのコントロールを参照するとロードされる。
Initializeが発生するのはインスタンスが作成されたとき。
Terminateが発生するのは参照している変数がすべてなくなったとき。
スコープを抜けた変数は自動的にNothingになる。
Nothingの変数にNothingを代入しても何も起こらない。
変数にNothingを代入しない限り勝手にNothingになることはない。
アンロードと参照の解放は違う。
Formsの中にはForm1が二つ以上入ることがある。

MSDNの「Visual Basic フォームの有効期間」とかFormsコレクションとか
クラスについて調べると良い。

これらを理解すると
unload MyForm
set MyForm = Nothing
がどういう意味なのかわかるよ。