One of the issues that makes it difficult to diagnose what is causing the problem is that there is a fair number of threads created by a library called Quartz that is used as a timer / scheduler to trigger start captures, stop captures, schedule updates, state changes etc. It would be nice to limit the number to see if the cause might be concurrent access of unprotected libraries.
In the two config files:
There are the following lines that define the number of threads:
#Define the job pool. The threadCount parameter controls how many jobs the system can be doing at once.
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 5
On a 1.3 capture agent I will decrease the thread count to 1 and then reproduce the issue. Decreasing the number of jobs that fire and other complexities will take actual code changes if this proves ineffective.