What is the smallest delay for sending data with BLE on the Genuino/Arduino 101?

I have purchased a Genuino 101 that I want to use to read sensor data (gyroscope & range finder). This data should then be sent to the Microsoft HoloLens where it can be processed. I am able to take the data and send it through just fine, up to a point. The issue is that eventually the Genuino stops sending data (and also seems to have stopped its main loop), which typically happens after 1-3 minutes, but only if a device is reading (being notified of) the characteristic value changes. Ideally the delay should be around 16ms to keep up with the 60 Hz refresh rate of the HoloLens, but it seems the lower this delay is, the faster it stops working.

I am using the Heart Rate Monitor example as a base (Arduino - Genuino101CurieBLEHeartRateMonitor), simply inserting my own data and reducing the delay (down from 200). Just to reiterate; the data is parsed and logged just fine, until I connect to it using a Bluetooth device - either HoloLens or Android device. It's only after I connect and read the values (for example with Android app nRF Connect) that eventually the data stream stops and the Genuino 101 has to be power cycled to restart its main loop. The data I send over are 12 bytes, and at the moment with a 33ms delay.

Any idea what I might be doing wrong?