Corruption and bit-flips in DRAM is completely normal, it's specified operation. This is why ECC exists. Google's result about water being wet is not interesting when we discuss oranges.
Microcontrollers are totally different, they are designed to be nearly free of such bitflips, which is why they use internal SRAM. Of course, cheap parts do not guarantee this and you have to pay premium for getting the guarantee, but in practice cheap parts are just as good.
Bitflips can and will happen, you can even calculate the rate at which metastability propagates in the logic when using 2 or 3 flipflops to synchronize inputs. But the question is, while others assume this rate as zero, you probably overestimate it by many orders of magnitude. So exactly how much effort you are going to put in making the code rad-hard? You know how difficult this is, don't you?
In any case, I'm 100% sure your "robust" code does not survive random bitflips. Writing software which eliminates (or even significantly reduces) the impact of random physical memory corruption is much more than "do not use function pointers" or other stupid nearly irrelevant bullshit. Maybe some simple measures are slightly better than nothing, maybe not. But many of those not scientifically proven half-baked measures are still very useful against plain old bugs, so go for it.
An example case in point: add canaries between global variables, or between stack and .data. Overindexing by +1 is usual mental fuck-up (even if you validated inputs). The bug is caught, good. Now consider random bitflip corrupting memory address in memory, or program counter, or whatever. The resulting address is now totally random in memory. Very unlikely to hit the canary. Likely to hit an invalid region, causing hardfault, which is good, but unless that happens, it likely hits something valid in memory and totally wreaks havoc, and there is nothing (simple) you can do. If you are truly concerned about this, having two CPUs with separate memories running in lock-step is a classic solution, but expensive as hell, and there's still the question of how to handle the error, and who handles it.