Hi Sabyasachi
As you are going to run this report for once a year , maybe you can use the report RSMEMORY to increase the memory values available for background jobs temporarily before running the report .
The changes made through this are temporary and are effective immediately without the need for a system restart. I have found it helpful in scenarios as yours above as we all would not like to invest too much time into something which is run only once a year.
Thanks
Rishi