Lot of guys will face app hanging problem while script execution in QTP. You can always use QTP provided SystemMonitor API to know memory usage by application an you can decide your control mechanisms. SystemMonitor.GetValue("YourApp.exe","Memory Usage (in MB)") In the same way, you can get processor usage, Os details, etc.. If this will give you exact thing, always you can use WMI to get every system information you need.
Sharing ideas with automation testers and Enjoying the ride...