Eric,
Yes, there is a limit. But calculating that limit is difficult, so we recommend that it be profiled in the customer's environment.
Every element of a voice application has an intrinsic memory footprint. I mention elements because different voice applications can have widely varying number of elements. So even when no calls are run, there is a limit to how many voice apps an application server (Tomcat, WebSphere) can load. Note that this element intrinsic memory footprint does not change with the number of concurrent calls: that code is only loaded once.
Then, one has to take session data into consideration. The data that elements get from the caller or retrieve from a database is also kept into memory. This can add up quickly because you have to multiply this session space footprint by the number of concurrent calls.
The
CVP SRND discussses the VXML Server's processing capacity. The stated capacity is 750 calls per machine. So if your customer processes thousands of calls (ports) concurrently, they will definitely need more than one box, regardless of how many voice applications they plan on loading.
Hope this helps,
JP