Read this it focuses on DDR not DDR2 but the principles are the same.
Okay how to put this easily, basically the RAM module is programmed with certain timings to operate at.
The bios reads the SPD of the RAM module which contains the timings so it knows at what settings to run the RAM at when plugged into the motherboard and ensure stable operation.
In some rare instances due to bios bugs or mixing/matching different brands of RAM you can encounter issues, sometimes these can be eleviated by increasing the timings of the RAM e.g. default
CAS latency = 5 (try changing to 6)
So with that in mind if Memtest+ finds nothing wrong with the RAM, then go into the bios change the control of the RAM timings from Auto/SPD to manual and start increasing the timings and see if anything improves, simple