There are many things which cause both frequent and rare strange crashes in multi-threaded code.
In C, all these things will compile OK. In safe Rust, practically none of them will compile.
It is much easier to fix compile issues in Rust to do with dangerous memory usage or thread sharing than it is to debug a compiled program.