OperationCanceledException in async methods should result in a Canceled task.
The continuation dispatch code has code that special-cases OperationCanceledException, but scenarios that end up in FinalizeTaskReturningThunk are missing a similar case.
As a result cancellation may lead to unhandled exception crashes.