We have noticed that programs that run via Task Scheduler perform worse than when launched by the user. It seems others have noticed this too. It's apparently because by default, Task Scheduler runs programs at a lower priority. Changing the priority confirms it: the programs perform as they should.
Intuitively this would make sense if other things were going on in the system: higher priority programs get their turn first, and then whatever is left, to consume all of the machines resources. But this isn't the case: our server isn't doing anything else. This background task is effectively the only thing running, and yet it's reading from disk and transfering over the network at a small fraction of what it's capable of. This might make sense if we were talking about a laptop (need to conserve battery), but we're talking about Windows Server 2019 here (aka Windows 10 1809).
Why doesn't Windows consume its resources to the fullest if nothing is competing for them?