I'm not sure why your widget would need to stay connected even if it's not running. When your widget connects, can it query the current light setup? If not, when you change the setup from the widget, can't it just save it to Application.Storage so it can use that the next time it runs?
Ok so imagine you are riding your bicycle and want to change the mode of the taillight without stopping, my app/widget does this. Now the problem is everytime the lightnetwork is created or the channel is opened the lights turn off for a few seconds and come back on again, this is the problem, I dont want to lose light while riding.
So I either have the connection always on even when the app is not running(which is not possible from what you said), or I have a data field that is always on while I ride (but I cant take user input), or garmin changes the way a lightnetwork is created to allow the lights to never turn off when the network is being created.
And yes I tried to save the current state of the lights for future reconnections but I can only reset the lights after the network has been established this is after the lights turned off and on.