Allocated memory in iddle server

I have an VPS container dedicated to Jitsi Meet (v1.0.4335). When it starts it maintains used memory below 800~900 MiB.
After 4 days of using this node, now after 12 hours of being iddle I see used memory is 2400MiB: 1600MiB of that are allocated by a java process.

Why it’s not releasing unnecessary memory?

It’s accepted wisdom for software developers that it’s not efficient to release unused memory and the operating system is supposed to take care of that by swapping least used memory when another application needs more memory.
It works usually well in fact, unless your app takes all swap - but usually this means that your system needs more main memory.

All memory I have available is RAM. When I need memory I buy memory.
Do you mean it’s preferable to swap to disk than sharing available RAM?
With this “imperative” logical (by Java model?); Why this program is not swapping to its own temporary files?

All I mean is that the memory management of Jitsi is the model used by 99% of applications. The only app I have seen that is managing its own memory is Microsoft Exchange, that is notorious by causing extreme problems when some ill-advised admin attempts to install another application so it turns basically a computer into a monoapplication system. The standard model used by Jitsi and almost every application in existence is in fact a well-behaved behaviour.

LibreOffice, for example, while editing 10 documents, when closes one of them it releases used memory.
GIMP makes same too.
Apache and PHP, when end a visitor petition or execution, they release memory.
M.Firefox does same too.

Well, I don’t know the rest 99% of software (I don’t know cases)