Ho un evento che ad un certo punto per un controllo mi chiama una function dove passo un valore e un datatable.
All'interno della funzione, dovendo usare la classe DataSetHelper, che mi permette di fare una group by mi creo un dataset, gli associo il datatable appena passato e con la classe mi creo sempre all'interno del dataset un'altra datatable.
Questa funzione restituisce true o false e in base al risultato al ritorno della chiamante mi fa una commit o una rollback.
Nel momento in cui tramite un datagrid quella datatable iniziale viene modificata e quindi riparte l'evento rieseguo la funzione di controllo.

Dim ds As DataSet
Dim dsHelper As DataSetHelper.DataSetHelper
dt.TableName = "Imballo"

ds = New DataSet
ds.Tables.Add(dt)

all'esecuzione dell'ultima istruzione mi da questo errore:

DataTable già appartenente a un DataSet diverso

Come mai? devo resettare qualcosa sul datatable? eppure immagino che il dataset all'uscita della funzione non esiste più avendo una visibilità locale.

Cosa posso fare?