You are running out of virtual memory, because your physical AND virtual memory are exhausted. If virtual memory is low, free physical memory will be virtually zero.
There are a few things you should do: (1) Do a detailed analysis of your code to make sure you don't create extra data copies in memory. In LabVIEW 7.1, you can anayze the buffer allocations directly. (2) Whenever virtual memory gets low, your OS will need to increase the swap file, taking a wild guess on how much is needed. This will repeat over and over if your data structures continue to grow. It would be better to set a large minimum size in the virtual memory configuration. This way the swap file is already at the final size, minimizing sizing operations. (2) If your final data has a know size, it is much more efficient to initialize and array with the full size (e.g. all NaN), then use "replace array subset" to insert the data as it is acquired, keeping track if the insertion point.
