Hi Ashish!
Everything is at the right place: .bss section is placed "on the high side" of ram space, and thus the binary size is correct.
In the project I've attached the binary file to wich I refer is called "test_big_binary.bin" (see image below; please do not consider the "cone" icon: VLC takes control over .bin files!).
"test_big_binary.out" is about 2Mbytes , but this is not what is needed by the bootloader. Actually I never used .out files, except when debugging through JTAG connection.
I've just tested the same project on 5.1.1 tool version on a my colleague's laptop: same .bin file size (32Mbytes), and .out file size is 1.8Mbytes, exactly as you've reported.