Any tool needs to be used correctly, according to it's interface contracts. Use it wrong, problems happen. Using a hammer to drive a screw? Sure you can do it, but you are operating outside the interface contracts of both the hammer and the screw.They suggest the use of a memory managed language like rust or ada. It's not like they are prescriptive of the use of rust. I personally think that a disciplined usage of C is also okay. But you need to enforce that discipline, which is clearly lacking in freebsd.
Your last sentence, I think is overly broad, but please provide supporting documentation.