In Visual Basic 6.0 scaricare una form è molto semplice è sufficiente impostare il comando

Myform.unload

In VB.NET io posso caricare le form mediante il metodo MyForm.show() o MyForm.showdialog()
Per chiuderle posso usare il metodo MyForm.close()

Quello che vorrei sapere è questo:

- Perchè quando chiudo la prima form (form1) caricata l'applicazione si interrompe?
- Come posso fare a caricare le forms o scaricare le forms inutilizzate ?
- Se come sembra devono rimanere tutte in memoria questo non è un dispendio di risorse in termini di memoria?

Grazie a chi risponderà.

Esempio

Applicazione parte e carica form1

Public Class Form1 ' questo codice è nella form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Form2.Show() ' o Form2.ShowDialog
End Sub
End Class

----------------------------------------------------------------------------------------------
Public Class Form2 ' questo codice è nella form2

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Form1.Close() 'Quando questo comando viene eseguito l'intera applicazione si interrompe
End Sub
End Class