If you have ruled out hardware related issues, a program is probably not closing properly. You generally want to prevent unused software from automatically launching on start up. This will reduce the number of potential problem software and eliminate potential sources of problems. There is a lot of software out there that launches a process on start up that will take system resources. If that program crashes or is having problems, it can impact your machine.
To clean up these startup programs, you need to clean up the "Run" section of the registry and empty out the "startup" section of the start menu. I wrote a blog post about this here. You basically want to remove anything that you don't use every day. Thinks like your AV scanner should stay but things like messenger apps and the adobe speed launcher generally don't. Also, keep an eye out for anything being launched from the C:\Users\\ folder. A ton of malware use this folder as a storage place for their exe.
Another possibility is that there is a bad windows file. To check for bad windows files, Microsoft provided a tool called the System File Checker or SFC for short. You should run this and make sure that everything is good to go.
As a last resort, I'd install a new hard drive and reinstall the OS. Sometimes, there is nothing you can do to fix the system and just have to rebuild from scratch. I have to stress that this is a last resort when all else fails and you just have to make this work again.
I apologize for writing a second answer, but I felt that this really didn't relate to my first answer.
Hope this helps.