I did some load tests on a lua program (a *C* program that uses different
Lua VMs, each on its own thread) and I've seen memory increasing to around
1Gb (possibly my Window's memory limit or something), and then falling
quickly to 64Mb or so.
Just to be sure: you are not running your program using Visual Studio
in "Debug" mode, right?
Because in this case, the memory consumption can grow up *much* higher
than in Release mode.
In Debug mode, to help debug memory related errors, "free" and similar
functions do not return blocks to the system.
So the application memory footprint can only grow over time. Or so I
have observed.