It may be by design, but history_thin does not thin the results returned by run_dream(). As a result, history_thin does not ameliorate memory issues that affect large runs, i.e., large niterations.
I was able to solve the problem by hacking core._sample_dream (or at least I think I solved it). I pass the variable step_instance.history_thin as a fifth argument and modified the array allocation of sampled_params and log_ps. Accordingly, I also ensure that sampled params and log_ps are updated only every history_thin iterations.