See this config
https://jsreport.net/learn/configuration#workers
https://nodejs.org/api/worker_threads.html#worker_threads_worker_resourcelimits
Could you please let us know the default heap size?
These are the runtime/nodejs settings.
Each thread gets the same default limit as the main thread
~1.5 GB on 64-bit systems
How many percentage of RAM should be allocated to heap?
There is no rule of thumb, try what works best for you.
The main thread can remain in default, and the rest can be divided among workers.
If we have set only one worker then why are we getting heap size limit issue?
Because every worker has the nodejs default limit.
Do references held by previous renders get freed up after report rendering finishes?
nodejs is the garbage-collected runtime. So it gets cleaned from memory when the GC gets triggered by the runtime.

