There is one minor difference between the Borland and MSC v7.0 in-ram versions. The virtual vector, mm, is a huge pointer in MSC and it is a far pointer in Borland C++. I had trouble getting the MSC version to release all of mm if it was a far pointer. However, under full optimization for speed, the MSC code is much faster in the in-ram version. Performance is identical in the virtual memory model.
A patch to MSC v7.0 has been released which fixed the problem above. The value of HUGE_POINTER is set to __far for the patched version of v7.0. The new version is 7.01. If you have not applied the patches you must change __far to __huge to avoid the memory leak.
I have only tested the MSC version in the large memory model. It does not compile in the small memory model.