So with your help I now have this working
Dim w As New Work
'Dim w As New Work
What I really need now is a way to :
1 Use a queue to process,
2. Have a cancellation token available
3. Have a way to know when all tasks are completed.
Please only vb.net code. I can find csharp examples but have a very hard time converting them to vb.