here is what i would do

write a piece of code that simulates everything except calling chilkat. all the code that changes arg size and loads xml files etc

see if that also has a mem leak

this just to find is the leak is from chilkat or from df

alternatively you could write the same code in c# to see if you have the same mem leak.