C# benchmark beats Go and Rust
github.com
github.com
For every element in the matrix, there are two random number generator invocations, and a single double-precision multiplication. Generating a random number (especially double-precision float) is significantly more complex than just multiplying.
As for the difference, the implementations are vastly different. Rust is known to include more secure-by-default implementations for hashing and random numbers, which may explain why it is slower. Using something like the fastrand crate would help.