Вы пишете, что "другой, я должен поддерживать это в течение очень долгого времени".Я предполагаю, что вам нужно получить доступ к ресурсам в этой форме.Это действительно необходимо?Форма в основном предназначена для использования в качестве заполнителя для элементов ввода и отображения данных, а не для использования в качестве контейнера переменных.
Кроме того, вам не нужно явно вызывать Dispose () для формы, когда Show() n Сам сборщик мусора сделает это:
http://msdn.microsoft.com/en-us/library/aw58wzka.aspx
Dispose будет вызываться автоматически, если форма показывается с использованием метода Show.Если используется другой метод, например ShowDialog, или форма вообще не отображается, вы должны вызвать Dispose себя в вашем приложении.