Hi Mike,
Our junior dev made a few changes to their firmware and I also made some changes in the service. Before, when I received a value in OnCharacteristicChanged, I sent the shutdown signal to the device inside that event. I think the service didn't like that. So I refactored a bit and now I unsubscribe the characteristic and send the shutdown signal immediately after subscribing. I also brought home a high-quality bluetooth dongle instead of using the onboard adapter of my 2015-ish laptop.
I don't get 0X00030008 errors anymore, just 0X0005105C and I think this has to do with interference from other devices because the fewer devices I see when scanning in Windows (at night, early morning), the more rare the 0X0005105C errors become. But these errors aren't game-breaking because the next scan cycle picks up the device again and connects to it successfully.
Anyway, now I have another problem. I do not receive any values anymore because obviously I unsub immediately (on line 154 in the file attached file) from the characteristic. Is there any way to wait for the first value to come into OnCharacteristicChanged event before doing this?