Quote Originariamente inviata da oregon Visualizza il messaggio
Prova ad aggiungere come ultime righe

GC.Collect()
GC.WaitForPendingFinalizers()

OK Grazie Perfetto per questo semplice caso.
Ora però nello specifico:

codice:
Imports System.Threading

Friend Class frmArrivo : Inherits Form

Dim Aggiorna As Threading.Thread
    Private Sub Command2_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command2.Click

        Dim Aggiorna As New Threading.Thread(AddressOf AggiornaFile)
        Aggiorna.Start()
        End Sub

    'Aggiungi

    Private Sub AggiornaFile()

        MessageViewer1.AddMessage(1, "Aggiornamento in corso...")
        Dim oExcel As Object
        oExcel = CreateObject("Excel.Application")
        Dim oBook As Object
        oBook = oExcel.Workbooks.Open("...\Gestione materiale.xlsx")
        Dim oSheet As Object
        oSheet = oBook.Worksheets(4)
        Dim i As Object
     
        oSheet.Activate()

        ProgressBar1.Value = 0

        For i = 3 To 10000
            ProgressBar1.Value = ProgressBar1.Value + 1

            If Trim(oSheet.Cells(i, 1).value) = "" Then

                oSheet.Cells(i, 1).value = TextBox1.Text       'Terra
                oSheet.Cells(i, 2).value = Text1.Text          'P/N
                oSheet.Cells(i, 3).value = Combo1.Text         'Tipo
                oSheet.Cells(i, 4).value = Text2.Text          'S/N
                oSheet.Cells(i, 5).value = Text11.Text         'Provenienza
                oSheet.Cells(i, 6).value = Text5.Text          'DDT RFI
                oSheet.Cells(i, 7).value = CDate(Text4.Text)   'Data DDT RFI
                oSheet.Cells(i, 8).value = Combo8.Text          'Esito
                oSheet.Cells(i, 9).value = Combo8.Text          'Magazzino Mermec

                i = 10001

            End If
        Next i


        oBook.Close(SaveChanges:=True)
        oSheet = Nothing
        oBook = Nothing
        oExcel = Nothing
        i = Nothing

        GC.Collect()
        GC.WaitForPendingFinalizers()

        ProgressBar1.Value = ProgressBar1.Maximum
        MessageViewer1.AddMessage(1, "Scrittura in file " & Combo1.Text & " di S/N " & Text2.Text & " effettuata con successo")
        
       

    End Sub
End Class
Resta aperto...isolando il caso FOR / NEXT funziona (Situazione precedente)
Ora vi chiedo cosa devo e come devo distruggere?

Grazie