Count of gameobject not working

Hi, the below piece of code is meant to produce a single clone enemy when the number of enemies drops to zero. Instead, the code generates an infinite number of clones, and the countEnemy variable never drops to zero even when there are no enemies on screen or in the SampleScene window.

The enemies have the appropriate tag…

Any idea why?

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class EnemyPlacement : MonoBehaviour
{
    public GameObject Enemy;
    private GameObject Clone;
    public static int countEnemy;

    void Start()
    {
        Clone = Instantiate(Enemy, new Vector3(0, 0, 0), Quaternion.identity);
        countEnemy = 1;
        
    }

    void Update()
    {
        Debug.Log("Count Enemy : " + countEnemy);
        countEnemy = GameObject.FindGameObjectsWithTag("Enemy").Length;
        if (countEnemy == 0)
        {
            Invoke("Replace", 1.0f);
            countEnemy = 1;
        }
    }

    void Replace()
    {
        Clone = Instantiate(Enemy, new Vector3(0, 0, 0), Quaternion.identity);
    }
}

Update is called every frame, if the MonoBehaviour is enabled.

Update unity docs