Are you sure?

It seems it can be none only if it is the Shared variant of BlockedTask, and the Shared variant only seems to be created when task.deschedule(n, ...) is called with n > 1, but here all BlockedTasks have been made with deschedule(1, ...)

I'm not very familiar with that code, so I might have misunderstood.