I guess my first question is why even use tasks? You are effectively just launching a process immediately either using a trigger or forcing the Run of the task. Seems like you are adding complexity where none is needed. If your code doesn't fully represent what you're trying to accomplish, I would offer two suggestions: 1) The TimeTrigger will only run once and you are telling it to run Now, which by the time the task is registered is a time in the past. 2) You are immediately deleting the task so if it had not run already, it won't have a chance to run. You may also consider setting the
td.Settings.DeleteExpiredTaskAfter
to something like 5 seconds so the task will run once and then delete itself.