Update from the future: TL;DR to catch expressions in async methods you have to await
, Task.WaitAll
, or .Result
.
I'm going to add an answer to my own question because there's a useful piece of information that I found out. The intermediary method LoadMSpecAsync is swalloing the exception. For this not to happen it needs a little teak. You need to add the async keyword before the return type and the "await" keyword after "return".