The thing that defeats your point is that there is no consequential C codebase that has dynamic allocation and no UAF. There simply isn't an argument to be had here, it's an empirical question and it's settled. It's time to move on and adopt memory safe languages. There are no valid excuses any more now that Rust is basically tolerable.
If you wanna claim this is a skill issue and you are built different etc, fine. I guess we can just say C is fundamentally unsafe for _everyone except you_.
(This is like when people wanna argue about if self driving cars are safe or not and they're blathering on about technical capabilities and limitations. No. We have the data).