On being Invoked by KeyPress, my gameobject appears alright, but does not get invoked again on key press ?

I was instantiating and destroying my gameobjects earlier but on learning that it is processor intensive, manipulated my code so that it is an object pool of 1 object. When I press Z, my object gets activated and starts scaling bigger as long as Z is pressed, and on key up, it deactivates the object, but when Z is pressed again, the object doesn’t get Invoked again. What am I doing wrong ?

float speed = 2f;
public GameObject radius;
public int pooledAmount = 1;
List<GameObject> radiusorb;

void Start(){

		radiusorb = new List<GameObject> ();
		for (int i = 0; i < pooledAmount; i++)
		{
			GameObject obj = (GameObject)Instantiate (radius);
			obj.SetActive(false);
			radiusorb.Add (obj);
		}
	}
	
	void Update (){
		if(Input.GetKeyDown(KeyCode.Z))
		{
			Invoke("LetRadiusExist",0.001f);			//Instantiating the prefab
				}

		if (Input.GetKey(KeyCode.Z)) {					//Scale the object
			if (gameObject != null)
			{
				gameObject.transform.localScale += gameObject.transform.localScale * (Time.deltaTime * speed);
			}
		}

		if(Input.GetKeyUp(KeyCode.Z))						//To deactivate the prefab
		{
			gameObject.SetActive(false);

			//Destroy(cloneRadius, 0);
		}
	}

	void LetRadiusExist()
	{
		for (int i = 0; i < radiusorb.Count; i++) 
		{
			if (!radiusorb*.activeInHierarchy)*
  •  	{*
    

_ radiusorb*.SetActive(true);_
_ radiusorb.transform.parent = transform;
radiusorb.transform.localPosition = new Vector3(0,0,0);
break;
}*_

* }*
* }*

gameObject.SetActive(false);

is your error. When you deactivate a game object, all its components are deactivated (so your script is deactivated too). So when you hit the “z” key again, the script is not running anymore. You need to deactivate other game objects, not the one which runs this script.