Using: 5.2.0.Final of drools camel server , JSON api, and a Stateless Session
We are making JSON calls to the camel (execution) server.  Our end-to-end unit tests pass.  Our load tests, however, show that memory is never reclaimed after each call to the rules engine.  After parsing through a heap dump, we see the following path taking up over 800 meg of memory:
(kagent) KnowledgeAgentImpl$ChangeSetNotificationDetector
> (kbase) KnowledgeAgentImpl
>> (ruleBase) KnowledgeBaseImpl
>>> (eventSupport) ReteooRuleBase
>>>> (listeners) RuleBaseEventSupport
>>>>> (array) CopyOnWriteArrayList
>>>>>> ReteooWorkingMemory (around 864K of these)

The rule base is very small and simple - this is only a problem during a load test (or over the course of a weeks worth of calls).  We make the following call 10K times:
{
  "batch-execution": {
    "lookup": "ksession1",
    "commands": [
      {
        "insert": {
          "out-identifier": "tc_1",
          "object": {.....}
          }}]}}
The knowledge-services.xml configures :
 - kagent id="agent1" kbase="kbase1" new-instance="true"
 - ksession id="ksession1" type="stateless" kbase="kbase1" node="node1" 

The rules just update the inserted "timecard" fact.

Because I'm using a stateless session, I don't think I need to dispose of the agent...and I don't think there is a way to call dispose using the json/Execution Command api.

We are calling the camel (execution) server from a non-java environment to process employee timecards entries and evaluate for overtime calculations.

Thanks!
Mike