Our application is failing on one specific user\'s computer with ERROR_NOT_ENOUGH_MEMORY (\"Not enough storage is available to process this command\").
A more common cause this error than any of those you've listed is fragmentation of Virtual Memory Space. This a situation where whilst the total free memory is quite reasonable the free space is fragmented with various bits of the virtual memory space being currently allocated. Hence you can get an out of memory error when a request for memory cannot be satisfied by a single contiguous block despite the being enough in total free.