Task does not start until I press stop button

I am trying to use task to detect deadlock and shuffle in my match-3 project. But It does not work until I press the exit button.

public static async void CheckDeadlock(Tile[,] Tiles)
{
    var isDeadlocked = await Task.Run(() =>
   {
       return IsShuffleNeeded(Tiles);
   });

    if (isDeadlocked)
    {
        //DoShuffle
        Debug.Log("Shuffle");
    }
}

public static async Task<bool> IsShuffleNeeded(Tile[,] Tiles)
{
    for (int i = 0; i < Tiles.GetLength(1); i++)
    {
        for (int j = 0; j < Tiles.GetLength(0); j++)
        {
            if (!FindPossibleMatches(Tiles[j, i]))
            {
                return true;
            }
            await Task.Yield();
        }
    }

    return false;
}

Also I am calling task here. DoInitialFill method calling at Start method.

public void DoInitialFill(Tile[,] Tiles)
        {
            for (int i = 0; i < Tiles.GetLength(1); i++)
            {
                for (int j = 0; j < Tiles.GetLength(0); j++)
                {
                    var newPiece = pieceProvider.GetRandomPiece();
                    Tiles[j, i].SetPiece(newPiece);
                    newPiece.SetPosition(Tiles[j, i].transform.position);
                    while (CheckInitialMatch(Tiles[j, i]))
                    {
                        poolManager.ReleaseObject(newPiece);
                        newPiece = pieceProvider.GetRandomPiece();
                        Tiles[j, i].SetPiece(newPiece);
                        newPiece.SetPosition(Tiles[j, i].transform.position);
                    }
                }
            }

            DeadlockHandler.CheckDeadlock(Tiles);
        }

Is anyone seeing what is the problem?