Why are you calling both ScanForService and StartScanning? Call either one or the other. And are you including the service in the advertising packet for your device? What you're showing is the list of services queried after connecting to the device. The ScanForService block only captures those devices who include the service in the BLE advertisement packet (i.e., before connecting).
Thank you for your answer. You are correct! I found it here How to use BLE scanforservice block? so I thought that was the correct way to use ScanForService.
Moreover, I checked my code again and yes, the service was not explicitly added to the advertising packet.