気になるから調べてみた。
Form f = new Form();
f.Shown += (o, s) => MessageBox.Show(f.Owner.ToString());
//f.ShowDialog();
f.ShowDialog(this);

ShowDialog()の引数に呼び出し元を渡さないとOwnerがnullになる。
ShowDialog()では例外が出て、ShowDialog(this)では例外無く実行できる。
>>625が正解でした