I always see cheri brought up and admittedly I know very little about it, except that the ergonomics appear poor requiring twice the storage for each pointer and ground up rearchitecting of the OS, making it quite unappealing from an engineering standpoint.
FreeBSD, kernel and base, was ported to CHERI, along with PostgreSQL.
> We have adapted a complete C, C++, and assembly-language software stack, including the opensource FreeBSD OS (nearly 800 UNIX programs and more than 200 libraries including OpenSSH, OpenSSL, and bsnmpd) and PostgreSQL database, to employ ubiquitous capability-based pointer and virtual-address protection.
Um, there's also Memory Tagging which is the topic of this post.
Apple's implemented it as part of the umbrella MIE and eliminates a class of bugs, at least on the surface of their own software, and allows for incremental adoption and doesn't break compatibility with older binaries.
MTE (and PAC before it) store some metadata in previously unused pointer bits, so there are potential issues if you were already using those for something else.
Oh and if your program has memory bugs then you have to fix them of course.