It's normal for memory to increase and stay used as data will fill up the caches over time but not to reach an OOM . Presto internally has many caches - it's possible some the caches are being filled during execution which increases the memory utilization. They should be flushed when memory is needed. Additionally, it could also just be JVM garbage collection not kicking it to reduce the heap footprint.
Take a look at the memory management properties in the configuration reference: https://prestodb.github.io/docs/current/admin/properties.html#memory-management-properties as well as the "Memory Limits" section from this blog post: https://prestodb.io/blog/2019/08/19/memory-tracking/
You may want to play around with the properties query.max-total-memory-per-node and/or memory.heap-headroom-per-node