I am currently automating a JAVA (window) based application. The application front end is built with Pure JAVA and we use QTP ( with JAVA add-in ) to automate the test cases.
There is no issue with Object identification during scripting nor in replaying. But the issue is QTP is not able to do any user actions or replay scripts after some point of time.

The framework is a very simple framework ( a driver script which keeps looping ) and do various user actions. Each loop creates some dictionary objects at run time and at end of the loop all the created dictionary objects are destroyed.

But after some time ( say at the third or fourth time in the loop ), QTP stops doing actions.

Say the actions are to enter data in a textbox, select a row in a table and click a checkbox. These actions are carried out perfectly for 3 times. When we QTP enters the loop for the 4th time, these actions are not performed. Strangely, in the result file of the run, QTP says the data is entered in the textbox, the row in the table is selected, the checkbox is clicked.

But in actual, none of the user actions happens.

If we stop the script after the failure and try entering the data manually in the edit box, we are not able to enter the data. We were typing through the keys in keyboard, but the value is not getting entered in the edit box. (Strangely the application is not in a FREEZED state)

I believe this is something to do with the memory, say QTP is not releasing the objects after a specific operation is performed or may be the memory is building up. Any IDEA?

Any clue to solve this will be helpful. Sorry for the long post. Thanks a lot for your patience and also thanks in advance for any help on this issue.