Why not just call GC before each model run? typically GC takes 50-100ms, I assume your model runs take … a lot longer (seconds) So the overhead of doing this kind of thing might be very acceptable:
for parameter in myparams
GC.gc(true) # minimal overhead if next step takes seconds
modelrun(parameter)
end