Hello burakcebesoy,
Whether you are able to add delay in the GUI application depends on your implementation. The question here: why/how the properties are sending data at the startup time? Is there a method responsible for this? If yes, you can of use Timer object and perform the method in several steps. With each step you send a new set of values.
Or do you send the data when the properties are initialized at the startup time? Then you could assume default values for the properties so if the property is initialized with a value equal to its actual (default) value, no data need to be sent. For this purpose, the OnSet method should compare the new value with the actual value and if the values are equal, return immediately without sending the data.
However, from my point of view, the problem seems to related more to the communication with the BL mobile app and less to the GUI application. Can you adapt the routines responsible for the communication with the BL app to use a kind of buffer? In this manner the rhythm in which the GUI application updates the properties and the communication with the BL application can be decoupled. The GUI application can even update all properties at once. Then you send the updated buffer contents as chunks with small breaks in between if necessary.
Does it help you further?
Best regards
Paul Banach