Getting crazy.... changing behaviour of coroutine when I make the build

Hello!
In my Android App I have plugin to scan and connect to BLE device.
While it’s scanning for device I have a coroutine that simply blink a message.
The really weird issue is that some times I make the build and everything work correctly, but other times (maybe after just a simply line code changed) the blinking message is not smooth at all as it should be, and the BLE plugin does not find any device despite it’s correctly working (I’m using Logcat for debugging, so I can see that there are no errors from any side).
I can’t understand this weird behaviour of the build, because I’ve changed nothing that could decrease performances or something like that.
It seem to be just a matter of… luck…
I’ve experienced the same issue on both Samsung Galaxy S6 and Galaxy A3, with different OS, so it’s not a matter of the mobile.

Does anyone has some idea on it?
Thank-you!

Daniele

It would help if we could see your coroutine code.

Many thanks for your reply Aurimas-Cernius,
this is a very simplified snippet of my code

void Start () {
    DuringScanning();
    }

void Update () {
      TotalTime += Time.deltaTime;
    }

void DuringScanning () {
         StartCoroutine (FaiLampeggiare(FlashingPanel));
    }


IEnumerator FaiLampeggiare (GameObject _gameobject) {
        CanvasGroup _canvasgroup = _gameobject.GetComponent<CanvasGroup> ();
        yield return null;
        while (true) {
            if (!_connected)
            {
                float Sinusoide = (Mathf.Sin(TotalTime * 2) + 1) / 2;
                if (Sinusoide >= 0)
                {
                    _canvasgroup.alpha = Sinusoide;
                    yield return null;
                }
                yield return null;
            }
            else
            {
                yield break;
            }
           
        }
    }