Can you get hold of a good ram-test program, to check for hardware bugs?
Disable any antivirus for a start and try like that to see if that fixes the thing. Don’t use any antivirus software or software like that unless it’s written by Microsoft themselves as it will just wreck your machine. There used to be a Microsoft program called Windows Defender, which came with Win7 for free, and there might be a similar thing available now. That was a safe choice, didn’t cause any problems.
Scan your machine with a stand-alone _non-resident_ virus scanner.
If you want to make any experimental changes to the system in order to try and simplify things and get rid of anything that might be evil or guilty, it’s a good idea to make a System Restore point first and make sure that you give the restore point a meaningful description so you can see it clearly in the history list explaining what its purpose was and what you were about to do afterwards. I often used to create several rather than just one. The subsequent ones would be zero-sized or tiny as they were trivial since nothing or only a small amount of change had happened. One called something like ‘system all known good’ or in this case ‘system sickly xxxx’ or whatever problem there was. Then a second one would be called ‘pre yyy-change’ and then after that a ‘post yyy-change’ one, so you can see what you were doing listed and that the resulting states were related to the effects of some named change.
Get rid of any software that you don’t need, especially bloatware.
One trick that I have used in connection with dubious software that may be unnecessary and undesirable but which you are not certain about is to simply rename a dubious file such as some .exe or .dll rather than deleting it so fo example rename bolox.exe to bolox.exe.disabled. It might be though that windows automatically restores the file in some cases so plan B is to set the ACLs/permissions on the file to disallow read or execute or write. You might need to look this up or ask for help with this, I would use the cacls command to set permissions, because I’m old-fashioned. Setting the permissions appropriately prevents anything from running the executable or dll. Renaming it out of the way obviously prevents anything from starting the exe or dll file because it won’t be found. And you can just easily undo these changes so it’s safer than deleting the file.
[Moderator edited to fix a typo with the [tt][/tt] tags.]