Like the other responses point out, the error you’re seeing is because the DataTable you’re attempting to add to a DataSet is already a part of a different DataSet.
One solution is to Copy the DataTable and assign the copy to the other DataSet.
dtCopy = dataTable.Copy()
ds.Tables.Add(dtCopy)
The copied DataTable will have the structure and data of the copied DataTable.
If you only want the structure of the DataTable, call Clone instead.
dtCopy = dataTable.Clone()