Why is my task still running even after I suspended its owning session?

When a session is suspended, any running tasks are given a grace period (taskGracePeriod in the application profile) to finish. If they do not finish before the grace period, the service instance on which they are running will be killed and the task will be re-queued and put into the pending state. Pending tasks for the suspended session will only be scheduled for processing once the session is resumed again.