What you are experiencing are various bottlenecks when performance isn't purposely limited.
If you run a game (even a static none-moving cube) a typical game engine will tell the GPU to render and then go through the game loop and tell the GPU to render again. If there is nothing going on in the game this is very fast the GPU spends most of it's time doing a bit of rendering and then spends the rest of the time sending that data to the display and waiting. The cycle repeats and the game might run at a few thousand FPS and look static while using 100% of the resources of the computer, this is normal.
In that scenario you have told the game engine to go crazy and draw as many frames of the same cube as possible, it'll go and do that but certain parts of the rendering process take longer and cause the GPU to wait, like when it has finished and needs new work (but the CPU is busy doing other stuff) so it'll sit there idle waiting for the next draw calls to be sent. You can change the balance a little if you change render resolution which will mean the GPU has to spend more/less time calculating pixel values, accordingly the perceived GPU utilisation will change.
All of this happens when you tell the game to go as fast as possible! If you instead know "I want 60 FPS" you can tell the game to try it's best to make every frame take 16ms and that means that the GPU/CPU will sit idle more (assuming that you where managing more than 60 FPS before) and task manager will tell you it's being used less.
So in this picture you can see that it takes roughly the same amount of time to render either way if you have v-sync on or off but the CPU will wait on purpose until the current frame has taken enough time in order to hit a performance target which forces the PC to be idle lowering the resources used.
Things to note
The problem with empty games or static scenes are that if nothing has moved technically nothing needs to be re-rendered but working this out is too slow for modern games where 99% of the time something is happening. If you know that nothing is going to happen (like when you are in a menu or something like that) you can build ways of caching the previous frame and re-render it but that's out of scope for this question. So if you know nothing has changed and you see the GPU doing stuff you might get the impression that the game engine is wasting resources and depending on your point of view it might be but if you where to 'optimise' a standard game engine for that use case it will cost you more performance when you need it once you actually start making stuff move on screen and the calculation tells you not to cache the frame most of the time.
Some game engines will look at the last few frames and notice trends and optimise the game on the fly to get more performance which can change the CPU to GPU load ratio. Unity's Entity system is one case where it takes a few frames to "Warn up" until it knows what requests the game will make and how it needs to structure the data in memory in order minimise overhead (though Unity being Unity this will probably be different in a few years when they inevitably change the system).