Yes, by setting the request deallocation vi to true it will allow the subvi to explicitly garbage collect and reclaim the RAM allocated for the subvi. With managed memory we are often lazy and forget about the "old days" pre-LV where we had to write explicit deallocation /destructor routines to manage our memory resources. The "request deallocation" allows some control of the memory deallocation process. A few other ideas is to break up the array and process it in multiple subvi's, then you can allocate and deallocate memory on a smaller scale (although this can be a pain to do), also when using Matrix you have a known size of each dimension, so I think you will see an increase in performance by preallocating the correct amount of space and then can avoid buffer copying and dynamically rebuilding arrays. Finally RAM is cheap, if you are with in a factor of 2 or so of the physical memory limitations of your system, pickup some more RAM (this is the least elegant approach and is what you would expect at of a company located in Redmond, WA). Good luck,
Paul