Yeah, there is no continuous memory block to allocate ~170MB

I did some tests and if application's memory commit size is about 1GB it's almost impossible to allocate memory block ~200MB.
@Ian: It's not first call, there is problem only with large files (someone inserted raw-files to system) and all unused streams are freed.
So any idea how to use memory as cache or should I use temp files instead?