I should have suggested for you to go ahead and test your memory in my first response but I failed to do so. That is because if it is corrupted memory it has the tendency to throw out many false causes.
Run Memtest on your RAM. Here is a tutorial that will tell you what you need to know:
http://www.techspot.com/vb/topic62524.html
Let it run for a LONG time. The rule is a minimum of 7 Passes; the more Passes the better because though it may look like it is just cycling through the same tests over and over, such is not the case. There are 8 individual tests per Pass. Many people will start this test before going to bed and check it the next day.
If you have errors you have corrupted memory and it needs to be replaced.
Also, with errors you need to run this test per stick of RAM. Take out one and run the test. Then take that one out and put the other in and run the test. If you start getting errors before 7 Passes you know that stick is corrupted and you don’t need to run the test any further on that stick.
* Even if you come to find out you don't have bad RAM this is a good sound basic diagnostic proceedure with 0xE errors.