First thing, don't use HSQL, it has no transactional isolation and should only ever be used for demos.
Are you just sending messages? Or are you consuming them as well? If you are just sending them then eventually they will build up and consume all memory unless you configure paging for your queues, see:
thanks. switching to postgres helped resolve the issue.