Salve a tutti,
perdonate la mia domanda sicuramente da vero principiante, ma vorrei chiedervi aiuto.
Ho sviluppato una pplicazione per smart device che utilizza molteplici form.

Se provo a passare il controllo da una form all'altra (vorrei chiudere la prima ed aprire la seconda) con:

new form2(...).ShowDialog()
This.Dispose()

Dopo alcuni passaggi l'applicazione va in crash probabilmente perchè passando il controllo con showdialog non viene eseguito il Dispose().
Ho provato quindi con:

new form2(...).Show()
This.Dispose()


ma in questo caso il programma si chiude senza aprire alcuna form.

Mi aiutate con qualche suggerimento?