There seems to be a bit over a bug with the freeRTOS example. If you add the Scheduler to the BLE thread, Scheduler events will always be one event behind as there are only executed on the next loop. The fix is adding your power_manage() function both before and after the intern_softdevice_events_execute(); in the BLE task.