There is no theoretical limit whatever as long as you have enough resources (RAM/CPU/Socket etc) and the most important guideline is to setup a performance environment and run through realistic scenario/loads. Monitor and tune.
Since SOAPUI is the actual client making SOAP requests to Pega application, the performance metrics captured in SOAPUI and in Pega ALERT log is the real deal. You should gradually increase the load to the point when the response time drastically reduces or the SOAP requests start to error out. SOAP UI documentation has details on how to set this up:
This depends on your the sizing of your app servers(JVM/Memory) and the average clipboard size of requestors in your application. There is no general guideline for this and this sizing should be determined primarily based on the number of peak requestors your application has to support and their average clipboard size.
There are few options to estimate it:
1. Using Clipboard-> If you know the response of the service then generate that response on a temporary page may be by running the service activity. Then go to clipboard -> Tools -> Analyze. This will give you the size of your page. Always try this with highest response size possible to safely estimate the required heap size.
2. Using SMA -> Access the SMA Application during your peak volume window and click the estimate size button. This is available in SMA-->Requestor Management, on the RHS Section at the top left( under all requestors).. Clicking this will add a column called Datasize in the list view with the size of memory occupied by your requestors.. Take an average of this.