await GetDat(...)をlockで囲うためにResultで同期化してからlockで囲んでさらにTask.Runで非同期に戻してるんだが、Task.Runの中で例外が起きるとその外側をtry..catchで囲んでもデフォルトの設定だとVisualStudioのデバッガーがその部分でいったん中断されてしまうな
素直に非同期用のlockライブラリを使ったほうがいいか・・