Hi Ankur,
I believe, this is because of u-boot is not able to find valid BBT on NAND flash which is updated by linux.
thats why, u-boot was creating BBT for every boot.
Please check that whether you are using same ECC mechanism (ECC type : HW, SW, etc.,) in both linux and u-boot.
Initially u-boot will create BBT on NAND flash and that should detect and need to update by linux, then after reboot, u-boot again will detect and update BBT, It goes like this..