Ultimately, logicearth is correct - standby memory is effectively free memory if there's demand, as the contents of a "standby" page are pages that are not in a process' working set (actively touched memory), and that do not need a backing store to be removed from the working set either (memory that can go directly to the standby list can be temporary data, binaries from disk, freed memory, etc.). When a process makes an alloc request (not just a reservation), the memory manager initially looks to the zero list to fulfill the request (pages that have been freed and then completely zeroed out). If that list is empty, the memory manager then looks to the free list - if that list is empty, then standby pages are invalidated and used as free pages.
Standby pages are pages that have been allocated by a process (or multiple processes), but they did not contain "private" data before the memory manager deemed them to be no longer in use and yanked them from a process' working set. Standby pages are pages that do not need to be backed before they're cleared from RAM, because they're temporary, freed, or part of the "shared" portion of the working set, and as such do not need to be saved (they're either still in memory as part of the shared portion of another process' working set, or the memory is indeed no longer in use by any processes).
If the page was deemed able to be removed from the working set of a process, but was previously listed as part of the private portion of the working set (private working set memory is non-shared, as in it's data contents are unique to the process that used it), it's contents could be marked as not in use and pulled from a working set - but that page requires a backing store before being cleared. These pages are on the "modified" page list - they're still available to be used by other processes when the system is under memory pressure, but the contents of the pages would have to be put into a backing store (the paging file), then the page can be moved to the standby list where it could then be used as previously described (the modified page writer in the kernel is responsible for backing modified pages and then putting them on the standby list).
So, if you have a large standby list, but are having issues with performance or applications misbehaving, then it's not likely the OS that's at fault. We'd need to know more about *how* the process was requesting memory, and what types of requests for memory it was making (is it making a request for a reservation? Is it actually making an alloc/malloc call to acquire RAM? Is it actually trying to write data to those pages?). Something's not right here, and given that the only way an application can actually talk to physical RAM is to use AWE (32bit only) or use a request to lock pages via a driver (which will fail if there's not enough memory for the request, btw), we'd need to know more to understand why the application in question has issues when Windows starts getting low on free or zero pages. However, again, since by default a process has *zero* understanding of Physical RAM in a box, and can only work with virtual address space (VA), then we'd need to know more. However, if you have adequate standby memory, with little to no "free" or "zero" memory, then it's either a filter driver (not likely, but possible) that's preventing the memory manager from being able to access memory, or the application is trying to directly access RAM versus going through the regular memory manager APIs. In either case, the memory manager *should* be clearing the standby list if free/zero are empty. If it's not, then either there's something installed on the system that's preventing it, or the app itself is trying to do memory management (and failing).
Since we don't know why, we can only state that we don't know, but this is how it *should* work. If it isn't working that way, then we need to know more about how the app (or apps, in this case) are designed to request and allocate memory.