In your test application you are calling to GetDesktopWindow and PeekMessage which are located in user32.dll. Even such innocent methods can use the desktop heap as implementation detail. There is no list of methods available which cause desktop heap allocations. If you can get away without a messae loop and PeekMessage then you should not see this degradation. Win10 is known for having a much slower VirtualAlloc performance for which a hotfix is available which could also be somehow related. As far as I know this fix is not public yet so you should check with MS support if this changes things.