There are two possible source of exceptions during suspension:
- Allocation of the continuation instance can throw OOM
- Restoration of ExecutionContext calls into user code through
ExecutionContext.OnValuesChanges
We should ensure that something reasonable happens in these cases.