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
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)
now and then, but overall the memory still goes up. Any ideas,
or insights ? thanks