Du hast das Jahr 2005 verpasst.
Die Annahme das eine CPU erst zu 100% ausgelastet sein muss, damit sie limitiert stimmt nicht.
Das fußt nämlich auf der Annahme, das jede Software automatisch alle Kerne im Computer benutzt.
Das macht sie aber nicht. Sie nutzt genau so viele Kerne, wie der Programmierer der Software vorgesehen hat.
Im Jahr 2005 sind die Dualcores im Mainstream angekommen, die Software war aber zu 99% Singlethreaded. Und Windows ist ein Multitasking-System.
D.h. wenn Du damals ein Game gestartet hast, dann waren Deine beiden Kerne zu genau 50% ausgelastet, weil Windows die Arbeit von einem Thread über die beiden Kerne verteilt hat. Denn 2x50% gibt genau 100%. Ein Kern läuft dann volle Pulle.
Je mehr Kerne Du hast, desto mehr verteilt sich die Arbeit.
Du hast keine Ahnung wie viele Kerne der Programmierer für sein Programm vorgesehen hat. Sind es weniger als in Deinem Rechner stecken, langweilen sich ein paar Kerne, man sieht es nur schlecht, weil Windows die Arbeit über die Kerne verteilt (so funktioniert Multitasking).
D.h. immer wenn Du mehr Kerne hast, als der Programmierer für sein Programm vorgesehen hat, langweilen sich einige. Das siehst Du als "nicht voll ausgelastet" und wunderst Dich.
Und immer wenn die GPU 100% erreicht, dann langweilen sich noch mehr Teile der CPU, denn sie warten auf die Graka.
Das verwirrt euch bei der Beobachtung, und genau deshalb der Weg über die GPU.
GPU voll ausgelastet: GPU limitiert. GPU nicht voll ausgelastet: CPU limitiert.
Falls Du das nachvollziehen möchtest: Starte Prime95 mit nur einem Worker. Schau in den Taskmanager und denk über das nach, was ich erzählt habe.