Stò provando con codici più semplici per capire un po' come procedere però non riesco a trovare una spiegazione a quanto accade:

Dim _c As Control
Dim _label As Label
For Each _c In Me.TabControl1.TabPages(0).Controls
If _c.Text = "SuperTuaPiù" Then
_label = CType(_c, Label)
MsgBox(_label.Text.ToString)
MsgBox(_label.Tag.ToString)
End If
Next

Allora il ciclo each esegue un blocco di operazioni per ogni elemento _c l'array dei controlli: io ho inserito un blocco semplice che mi indica se l'etichetta contiene il testo Supertuapiù e il tag. Però nei miei controlli esistono solo due etichette con il valore Supertuapiù mentre i message box che compaiono sono 8 o meglio ripete quelle che ha letto prima. adesso mi chiedo come è possibile che recuperi lo stesso controllo il ciclo?