Memory usage in jruby with Active record find_in_batches()

I am using active record find_in_batches() on jruby 1.6.8 (which is ruby
1.8.6 I believe). I just do this:

self.find_in_batches(attr) {|recs|
  recs.each { |rec| rec.destroy }}

This leaks memory, however some memory looks like it is freed up each
time
but the memory usage gradually increases, This is a very large set of
records. Is it possible that the garbage collector does not have enough
time to run ? I tried adding a System.gc() call followed by sleep(2)
every
now and then, but overall the memory still goes up. Any ideas,
suggestions
or insights ? thanks

https://lh5.googleusercontent.com/-Vw1m7-hvO24/UMH1VDgTQHI/AAAAAAAAAAM/c7U71V4zi_8/s1600/heap.jpg