追記(2019/3/8)
コチラの問題について、2018.3.7f1で解決されている事を確認しました。
発生する現象
タイトル通り。
しかも、EditorModeに戻ってもエラーが吐かれ続ける。
環境
・Unity 2018.3.3~
再現手順
↓のスクリプトを1つ用意してボタンを押すだけで簡単に再現します。
原因らしきもの
UnitySynchronizationContext内で、Queueに積まれたWorkRequestをInvokeする部分の実装が2018.3.3から変わっている事が原因と思われます。
dnす(ryで見てみると、↓がUnity2018.3.2までの実装
↓がUnity2018.3.3からの実装
となっており、WorkRequestをInvokeするまでは溜まったWorkRequestがClearされないという実装に変わっている事がわかります。
つまり、Invoke()でThrowが走るとClearされずに次のフレームでも同じWorkRequestがInvokeされるようです。
ただ、github上のmasterではUnity2018.3.2のバージョンのコードが公開されています。
masterが最新のリリースのものではないという事でしょうか。
https://github.com/Unity-Technologies/UnityCsReference/blob/master/Runtime/Export/UnitySynchronizationContext.cs#L68-L79
対策
①asyncを使いたい場合は、2018.3.3以降のアップデートは保留にしてUnityの対応を待つ
②自家製SynchronizationContextを作ってAsyncOperationManager.SynchronizationContextを乗っ取る
③Task+SynchronizationContextではなく、UniTaskを使う。
あと、バグレポは送りましたが、2018.3.4で修正されてないのでいつ直るかはわかりません。