I agree with Erel, its something in your code somewhere.It's a bike application.
So the ble module sends data from the bike to the phone using BLE.
It sends around 380 bytes of data every 200ms.
Once all data is received, it's parses into 2 differents arrays (data and id). Then a timer that runs every 500ms will update the interface with the data.
Speed, power, assist level, torque, current, power, etc.
I try to disable the interface timer and looks like the cpu usage stays around the same level, but if interface timer is enable, it get more and more cpu usage. It's more obvious when using older phones like under the iphone 6.