All these .NET has better performance at. Go explicitly trades it off for smaller memory footprint. (Yes, even the things Go is supposed to be good at, because NativeAOT is a more "high-end" solution to the problem - more scalable binary size, and borderline absent startup overhead).
Also finely grained concurrency has especially big gap: https://hez2010.github.io/async-runtimes-benchmarks-2024/tak...