None of the answers worked permanently as BITS gets enabled after few days.
But good news is, we can set bandwidth consumption of BITS to 0kbps and restrict it from eating up internet speed.
This is the only trick I found to control BITS and it worked perfectly for me.
So here you go,
- Open start menu(or press windows key), type gpedit.msc(Edit group Policy) and open it.
- Navigate to Computer Configuration > Administrative Templates > Network > Background Intelligent Transfer Service (BITS)
- Edit(double click) Limit the maximum network bandwidth for BITS background transfers.
- Now select Enable and change Limit background transfer rate(kbps) to to 0 or some lower value like 2. Remember you need to set this at 2 places on same screen, one for scheduled time and one for all other times.
That's it. BITS will now use only the bandwidth you have specified.
Note: This might not work in windows Home edition. If works for someone please comment/edit answer.