I am working on an old PC that uses DDR2 800mhz, when testing the memory is memtest and memtest+ is sometimes gives errors (usually on test #6) but then sometimes passes with no errors. I have tried 2 different sets of RAM and have tested both of these sets in a laptop I own, both sets have never reported any errors in the laptop. Yet in the PC it sometimes does and sometimes doesn't. The PC is an Acer L3600, a small form factor desktop PC that uses laptop type RAM. The laptop can only run the memory at its max of 667mhz though. Sometimes 30 errors sometimes 20,000 and crashes memtest. I can't adjust the speed of the memory to try it at 667mhz, even though the board supports 800mhz.
Have a good look at the capacitors on your motherboard. Being fairly old, some of the capacitors may be bulging/leaking. This will cause instability. Could be the cause to why it works sometimes... Newer boards have solid state capacitors which are better...
It would freeze in memtest sometimes when it found errors but not other times. The RAM I bought for it, hynix it didn't like and would often give errors (its now in my laptop and passed 2 times) but I had some samsung memory in my laptop I tried and it liked it better, only occasionally showing errors. I also left it on overnight 8 passes and no errors with the samsung, couldn't really work it out. But as long as it doesn't affect the OS then its OK. I think it could have been having 800mhz issues possibly like someone said, I didn't have any 667mhz ram to try.