How can I spawn an object with a mouse click down, and destroy it when I release the button?

I have the angle of tragectory and physics down, but it won’t be destroyed when I release the button. Here’s my code:

             void Throw(){

		//Throw axe if fire1 is pressed
		if (Input.GetButtonDown ("Fire1")) {
			GameObject axe = Instantiate (pickaxeObject, playerTrans);

			pickaxerb = axe.GetComponent<Rigidbody2D> ();

			PointToMouse (axe);

			//Find mouse position
			Vector3 mousePos = Input.mousePosition;

			//change z axis of mouse position
			mousePos.z = 10f;

			//Convert to world space
			mousePos = Camera.main.ScreenToWorldPoint (mousePos);

			//Find player position
			Vector3 playerPos = axe.transform.position;

			//Calculate difference between target and player
			Vector3 diff = mousePos - playerPos;

			//Throw Axe
			diff = diff.normalized; //Normalize diff
			pickaxerb.AddForce (diff * thrust, ForceMode2D.Impulse);

			/* Doesnt work
			if(Input.GetButtonUp("Fire1")){
				Destroy(axe);
			}
			*/
		}

	}

I think instantiating the disabled object and enabling/disabling when I need it to would work, but I’m not sure how to do that. I know that getting the components not in start isn’t performant, but I’m not sure how else to do it. Thanks for any help!

@RomulanNinja - you can setup a boolean that tells you when the object is there.

bool objectInstantiated = false; 
void Update() { 
    if(Input.GetButtonDown ("Fire1")) {  
        if(!objectInstantiated) { 
           objectInstantiated = true; 
           InstantiateObject();  // Instantiate your object in this function; 
        }
    } else { 
        if(objectInstantiated) { 
           objectInstantiated = false; 
           RemoveObject(); // destroy your object in this function 
    } } }

Alternatively, you can check if the reference for the object is null : if ( myObject != null) { … }