Most likely a driver bug where a driver tried to free the same kernel memory object twice. Or something corrupted the list of memory objects. (this can be caused by issues with RAM, or a bad driver that overwrites into memory that is should not) the problem is hard to track down because by default the checks are not done at the time the driver asks to free the memory but at some time later when the system actually tries to free up blocks of memory. if you know what driver you suspect, you can run driver verifier on it and turn on checking and it will bugcheck when the actual problem occurs. Problem is for a graphics driver it will really slow down your driver and may actually obscure the issue and make it harder to find. -and again it can be other drivers that actually stomp on memory and change links in the linked list data structure. - and it can be virus that do this on purpose to gain access to kernel data structures. I generally do the following: check your OS files by running sfc.exe /scannow then start updating 3rd party software that has device drivers free virus scanners screw up a lot, then old software that has drivers. as to if this is a hardware issue, you can rotate your RAM to new memory slots. You do this in the hopes that if one of your ram sticks has a issue you can move the issue from kernel memory space to user memory space. (crashing a usermode program just causes a app fault. much better than crashing a kernel mode program that will bugcheck your OS) -I would update my ati graphics driver. - also, windows 8 does more checking of memory structures (to fight off virus attacks) and will bugcheck rather than just ignore the bad kernel call.