Remove object over time. (yield)

In my game, if a player comes within a close distance of money (a reshaped cube with texture), the money’s value is added to his bank and the money object is to be removed. I know how to remove the object but I want to remove the object after a certain amount of time, not immediately. I’ve tried using ‘yield’ but it doesn’t seem to work. Can someone please help?
all help is greatly appreciated
This is what my code looks like (without the yield):

function OnGUI()
{
	if(acquireMoney)
	{
		GUI.Label(Rect(Screen.width-200,Screen.height-170,200,200), "Money: $$$$"); 
		GUI.DrawTexture(Rect(Screen.width-200,Screen.height - 150,150,65), this.moneyTexture);
		remove = true;
	
	}
}

function LateUpdate()
{
	if(remove)
	{
		GameObject.FindWithTag("Player").GetComponent("Bank").money += moneyAmount;
		print ("Player now has: " + GameObject.FindWithTag("Player").GetComponent("Bank").money);
		Destroy(gameObject);
		remove = false;
	}
}
Destroy(gameObject, secondsToWait);

–Eric