F# 6.0 added the 'task' computation expression, which is much more performant than the F# 'async' methods. It also makes interop with C# projects and libraries simpler, as is uses the same mechanism that C#'s async/await does. I have used it in production workflows without major performance issues FWIW.
I would be curious to hear more about this. My response to a sibling explains how we do not have huge performance considerations right now (and our i/o-bound nature). Due to the primary work of our product, we are utilizing async workflows extensively. We are on 6.0, and evaluating if we want to chase the 7 series release or just hop to the next LTS.