No, this is simply how memory management works in Java and in general in other memory managed run times like in .Net.
Once you start the JVM (Java Virtual Machine), eg knime you can tell it how much RAM it can use (max, min values). This can be done in the knime.ini (more details). If you tell the JVM it can use say 4G of RAM, it will just tend to fill up till that amount and only start clean-up once it goes over it and then also only as much as really needed (in reality is much more complex). this also means you should ensure you actually have enough free memory for what you set Xmx to.
But again this is purely managed by the JVM and the user has by default no control over it and there really is no need to control it. If you think KNIME uses too much memory, lower Xmx but this can impact performance or lead to certain workflows with lots of data to fail due to lack of memory.