TableList | List(Of DataTable) =
(From d in YourDataTableVar.AsEnumerable()
Group d by k=d("ID").toString.Trim into grp=Group
Select t = grp.CopyToDataTable).toList
Then loop with a for each (not for each row) over TableList
e.g. create csv data or any other represenation for the current looped datatable and use it for the WorkQueueItem creation