I recently had the same problem and after browsing sites like tom's and seeing multiple threads with the same problem that ultimately go nowhere I managed to figure out my problem. I can't say whether this is the same thing you're going through or not, but I figured I'd post this in a few of these threads just in case.
So like I said I was having the same kind of problem: I would be playing a game (csgo, besiege, path of exile, etc) everything would be fine for about 15 minutes and then something seemed to happen, dropping FPS/performance instantly. I checked all of the standard stuff (which is pretty much what you see in these threads as far as suggestions) such as temperatures, power levels, etc, and everything seemed fine. Funny thing was, if I restarted the PC I could play normally for 15 minutes until it occurred again which seemed to point toward a software issue rather than hardware. So after restarting a few times I started playing CS:GO, after 15 minutes the same issue occurred, I looked at taskmgr and noticed that steam.exe was occupying 25% of my CPU, but upon closer inspection it wasn't the real steam.exe it was malware masking itself as a process that was already running when it launched itself. If you right click on a process in task manager and click "Open File Location" you can see where the executable is at. The fake steam.exe was in my \AppData\Local\ (can't remember the folder name, something random like 'ixorig') and the executable was a random name as well. After ending the fake steam.exe process and deleting the folder from appdata\local\ it never happened again.
So basically, when this occurs check taskmanager/resource monitor and see if anything is hogging a large portion of your CPU. If so, right click on the process in task manager, click open file location, and if it's in appdata or some random directory just end the process and delete the bogus files/folder then restart.