Recently I upgraded to 3GB while on Vista. Instant blue screen.
So then I install XP and it's ok for awhile. Then InstallShield keeps telling me CABs are corrupt on CD's I've only used once. So I alter the memory timings and everything seems to be ok. Recently I started having applications throw exceptions that have never thrown before. Finally I broke down and burned an ISO of Windows Memory Diagnostic.

Tested the full 3GB and every test failed.
Tested each stick independently and 1 in particular always failed.

The third stick would do this:

Expected: fe-fe-fe-fe::fe-fe-fe-fe
Actual: fe-fe-fe-fe::fe-fe-ee-fe

Every time on every test the third byte in the high order word was wrong. So if you had a pointer that relied on some object at an address the pointer would be wrong and of course would throw an exception.

Problem solved.

In short when you buy memory...test it. Woulda saved me a lot of headaches.