I once had a defective 512MB RAM module. Usually it would be detected as a 256MB module and it would work fine. Sometimes it would be detected as a 512MB module, but corrupted data would crash the system within a few minutes.
You used to be able to scan memory consistency and pass a kernel parameter to skip bad regions of memory. I ran a system for years with known bad memory that way.