L'accesso ai controlli di Windows Forms non è thread safe.
Operazioni effettuate da due thread diversi da quello in cui il controllo e' stato creato, possono porlo in uno stato non coerente.

Quello che puoi fare nel tuo codice è porre la seguente dichiarazione nel codice del form

codice:
Delegate Sub SetPBCallback()
e modificare il codice del thread che accede al controllo così

codice:
Private Sub AdvanceProgress()
  If Me.ProgressBar1.InvokeRequired Then
    Dim d As New SetPBCallback(AddressOf AdvanceProgress)
    Me.Invoke(d, New Object() {})
  Else
    Me.ProgressBar1.Value = Me.ProgressBar1.Value + 1
  End If
End Sub