Ciao a tutti ho un problema che non mi era mai capitato...

Ho 3 form: Primo, Secondo, Terzo

Il secondo lo apro con showDialog dal primo ed il terzo con showDialog dal secondo in questo modo:

Dal form PRIMO
codice:
  Private Sub bttApriSecondo_Click(sender As Object, e As EventArgs)
        Me.Visible = False
        Dim frm As New secondo()
        Try
            If frm.ShowDialog(Me) = DialogResult.OK Then
                //altre mie istruzioni
            End If
        Catch ex As Exception
            //Mie istruzioni per gli errori
        Finally
            Me.Visible = True
        End Try
    End Sub
Dal form SECONDO
codice:
    Private Sub bttApriTerzo_Click(sender As Object, e As EventArgs) 
        //DGV è un datagridview che passo come variabile alla Sub New del form TERZO

        Dim frm As New Terzo(dgv)
        Try
            frm.ShowDialog(Me)
        Catch ex As Exception
            //mie istruzioni per gli errori
        End Try
    End Sub
In sostanza quando chiudo il form TERZO (dando il comando Me.DialogResult = DialogResult.OK) mi si chiude anche il form SECONDO e torno al PRIMO...

So che non è un comportamento normale e che ci deve essere qualcosa di sbagliato nel codice ma ho cercato e ricercato e non ho trovato nulla di anomalo...

Non vi chiedo la soluzione perchè credo che senza avere il quadro generale davanti sia impossibile ma qualche consiglio riguardo le aree sulle quale dovrei concentrarmi a cercare l'errore...ipotesi e quant'altro insomma!

Grazie a tutti!