Regardless of your opinion, you cannot accurately describe the minimization behavior as a bug.
An unwanted and unintended property of a program
or piece of hardware, especially one that causes it to
malfunction.
It is rather disturbing to ignore the preferences of many windows users on the basis of one "bug" report of a single user of a cross-platform, open-source application. Naturally, if someone has employed a program on multiple operating systems, he/she will expect it to behave very similarly. This cannot always be the case, or the program will become completely unattached to each platform and therefore will cease to 'feel' like a native application.
Your counter-argument is not substantiated effectively. It can just as easily be reversed to say "keeping pages unallocated does no harm", because the statement is no more true or false based on the evidence presented. The allocation or deallocation of pages is virtually instantaneous; the only operation involved here that takes human-noticeable time is reading from the disk pagefile.
The example you've presented is another fallacy. It will never occur, and it does not occur. If a gigabyte or more memory is available in a PC and mapped, it will at some point (with high probability, at the point when the high ram is at greatest demand) become used. What one such as yourself fails to perceive here is to the design of the NT kernel is not based around high performance, top-end machines with googles of memory. When you drop that one gigabyte down to 64, 128, or even 256 mbyte, suddenly there is no longer an excess of ram for every application to use as cache. There is, in fact, very little memory available much of the time on PCs with this hardware who have aggressive users (people who do a great deal of multi-tasking, for example). The optimal policy for the kernel in terms of great memory need is to match the aggressiveness of the user and try to create free memory for new tasks.
I've used three machines in the past with both windows and a linux distribution at one time or another. The two more recently have both had what I would consider an excess of RAM for normal computing needs: 512 mbyte and 2048 mbyte, respectively. There is no perceptible performance difference between applications running on the different operating systems. The policy of the kernel, in effect, makes absolutely no difference. The reason why is simple: neither of these machines has a significant need for a pagefile. I could, in all likelihood, simple disable paging on both boxes.
The third machine was much older, from quite a while back: a Pentium I MMX 166 MHz with 40 mbyte ram. At different times, it ran Windows 95 and Mandrake 6 (GNOME, iirc). Both the kernels involved were also different, I'm sure: 2.4 an 2.6 are fairly dissimilar in numerous ways, and the 9x kernel and the NT kernel are quite unlike one another in others. At the time, the Mandrake system
seemed slower. However, in time I've come to realize from more objective comparison that this was nonsense; it wasn't the handling of memory, cache, or processing time that made the perceptible difference. The dissimilarity occurred at a much higher level; with the actual userspace applications and their user interfaces.
Each of us can cite ancedotal evidence displaying a disparity or nondisparity between performance on the two operating systems. The actual truth of the matter lies more in perception than in fact, friend.
How can your experience be explained? Quite simply. Windows does not have native bash scripting. You are inherently introducing excess layers of complexity and potential slow-down points by running anything through a bash shell on windows. For valid comparisons of actual program runtimes, you need to run native windows applications through native windows interfaces, and time them using windows performance tools. For linux, replace all instances of 'windows' with 'linux/gnu'.
Here's a decent (though far from infallible) method of testing your hypothesis (that the windows subsystem for memory management is responsible). Disable the pagefile. On Windows, this is done pretty easily through the system control panel. On Linux, you can edit /etc/fstab or probably just temporarily pass some parameter to the kernel via your bootloader.
Honestly, I'd like to see your results.