Hi Dan,
Why have you removed the timeout from the task? Try this:
1) Have a timeout.
2) Try the following logic:
void OnTaskTimeout (bool disposing)
{ if (!disposing)
Task.Start();
}
I think that should work fine. Let me know if it does or doesn't. Have a great day!