someone can confirm that it is normal for memory usage to stay at 98%?
or is there any command to release memory cached
For what firewall model and what XTM version ?
Normally used/cached memory is released when needed by some other process.
Please review the Memory section on below page. It describes memory usage in detail and what numbers to monitor.
".....A low MemFree value does not indicate a problem with Firebox performance or resources. The total available memory for the Firebox is the combined value of MemFree, Cached, and Buffers....."