I found this paragraph particularly interesting:<p>> Trimming the working set of a process doesn’t actually save memory. It just moves the memory from the working set of the process to the standby list. Then, if the system is under memory pressure the pages in the standby list are eligible to be compressed, or discarded (if unmodified and backed by a file), or written to the page file. But “eligible” is doing a lot of heavy lifting in that sentence. The OS doesn’t immediately do anything with the page, generally speaking. And, if the system has gobs of free and available memory then it may never do anything with the page, making the trimming pointless. The memory isn’t “saved”, it’s just moved from one list to another. It’s the digital equivalent of paper shuffling.<p>I'd always been under the impression that as soon as memory was trimmed from the working set. Perhaps this <i>was</i> the case at some point, and was a reason for the PROCESS_MODE_BACKGROUND_BEGIN priority? As the blog mentions, the SetPriorityClass call has had this behavior since at least 2015, though I wouldn't be surprised if this behavior has existed for much longer.<p>As for why this "bug" hasn't been fixed, my guess is that it's due to a couple of factors:<p>- Windows has become fairly good over the years at keeping the core UI responsive even when the system is under heavy load.<p>- There are plenty of ways to reduce memory/CPU usage that <i>don't</i> involve a call to SetPriorityClass. I'd wager that setting a process's priority class is not the first thing that would come to mind.<p>- As a result of the previous two points, the actual number of programs using that call is quite small. I'd actually be interested in knowing what, if any, parts of Windows use it.<p>(As a side note, if there <i>was</i> a bug in a Windows API function, how would you even report it?