Seen some warnings of leak still being detected. I'm not sure what's missing, so I'm adding nearly everything.
computeIfAbsent would leak as the entry was never registered into the ttl map This fixes that ,as well as redesigns cleaning to not run on every manipulation, and instead to run clean once per tick per expiring map.