Finding Closest Object is Destroy Both

Hi. I have made a looting script that works great until there is 2 pouches out. It destroys both instead of one. I just want it to destroy the closest one. Here is the code:

#pragma strict

var exp : GameObject;
var lootBack : GameObject;
var gold : GameObject;
var destroy : boolean;
var pouches : GameObject[];
var theString : String;
var theString2 : String;
var goldGUI : GUIText;
var expGUI : GUIText;
var gold2 : int;
var exp2 : int;
var goldShower : GUIText;
var expShower : GUIText;
var goldIMG : GameObject;
var expIMG : GameObject;
var player : Transform;

function Start () {

	lootBack = GameObject.Find("LootPouchHolder");
	exp = GameObject.Find("exp");
	gold = GameObject.Find("gold");
	pouches = GameObject.FindGameObjectsWithTag("Pouch");
	player = GameObject.FindWithTag("Player").transform;
}

function FixedUpdate () {

	theString = goldGUI.text;
	gold2 = int.Parse(theString);

	theString2 = expGUI.text;
	exp2 = int.Parse(theString2);
}

function OnMouseEnter () {

	guiText.color = Color.red;
}

function OnMouseExit () {

	guiText.color = Color.blue;
}

function OnMouseDown () {

	lootBack.guiTexture.enabled = false;
	exp.guiText.enabled = false;
	gold.guiText.enabled = false;
	guiText.enabled = false;
	goldIMG.guiTexture.enabled = false;
	expIMG.guiTexture.enabled = false;
	FindClosestEnemy();
	goldShower.SendMessage("GiveGold", gold2, SendMessageOptions.DontRequireReceiver);
	expShower.SendMessage("GiveExp", exp2, SendMessageOptions.DontRequireReceiver);
}

function FindClosestEnemy () : GameObject {
        //Find all game objects with tag Enemy
        var gos : GameObject[];
        gos = GameObject.FindGameObjectsWithTag("Pouch"); 
        var closest : GameObject; 
        var distance = Mathf.Infinity;
        var position2 = GameObject.Find("Player").transform.position;
        // Iterate through them and find the closest one
        for (var go : GameObject in gos)  { 
            var diff = (go.transform.position - position2);
            var curDistance = diff.sqrMagnitude; 
            if (curDistance <= distance) { 
                closest = go; 
                Destroy(closest.gameObject);
                distance = curDistance; 
            }
        }
        
    }

Solved it. No idea what was wrong. Just kinda played with it until it worked :D. Here it is:

#pragma strict

var exp : GameObject;
var lootBack : GameObject;
var gold : GameObject;
var destroy : boolean;
var pouches : GameObject[];
var theString : String;
var theString2 : String;
var goldGUI : GUIText;
var expGUI : GUIText;
var gold2 : int;
var exp2 : int;
var goldShower : GUIText;
var expShower : GUIText;
var goldIMG : GameObject;
var expIMG : GameObject;
var player : Transform;
private var canDestroy : boolean = true;

function Start () {

	lootBack = GameObject.Find("LootPouchHolder");
	exp = GameObject.Find("exp");
	gold = GameObject.Find("gold");
	pouches = GameObject.FindGameObjectsWithTag("Pouch");
	player = GameObject.FindWithTag("Player").transform;
}

function FixedUpdate () {

	theString = goldGUI.text;
	gold2 = int.Parse(theString);

	theString2 = expGUI.text;
	exp2 = int.Parse(theString2);
}

function OnMouseEnter () {

	guiText.color = Color.red;
}

function OnMouseExit () {

	guiText.color = Color.blue;
}

function OnMouseDown () {

	lootBack.guiTexture.enabled = false;
	exp.guiText.enabled = false;
	gold.guiText.enabled = false;
	guiText.enabled = false;
	goldIMG.guiTexture.enabled = false;
	expIMG.guiTexture.enabled = false;
	FindClosestEnemy();
	goldShower.SendMessage("GiveGold", gold2, SendMessageOptions.DontRequireReceiver);
	expShower.SendMessage("GiveExp", exp2, SendMessageOptions.DontRequireReceiver);
}

function FindClosestEnemy () : GameObject {
        //Find all game objects with tag Enemy
        var gos : GameObject[];
        gos = GameObject.FindGameObjectsWithTag("Pouch"); 
        var closest : GameObject; 
        var distance = 5;
        var position2 = GameObject.Find("Player").transform.position;
        // Iterate through them and find the closest one
        for (var go : GameObject in gos)  { 
            var diff = (go.transform.position - position2);
            var curDistance = diff.sqrMagnitude; 
            if (curDistance <= distance && canDestroy == true) { 
                closest = go; 
                Destroy(closest.gameObject);
                distance = curDistance; 
            }
        }
        
    }