Problems with time in a script

Good evenning,

I’m trying to destroy an object at each 3 seconds, but the objects are been destroyed instantly.
The script I’m using is as follow

void Start ()
{
InitArrayPosic ();
ResetIdRed ();
ResetIdFrame ();
actualRedTimer = 3f; // Determinando o tempo entre cada aparicao do vermelho
actualRemoveRedTimer = 0.35f; // Determinando o tempo que o vermelho fica na tela
}

// Update is called once per frame
void Update () 
{
	while (teste < 15) 
	{
		testeCron += Time.deltaTime;
		if (testeCron >= actualRedTimer)
		{
			objectName = "Lalas_Button_" + teste.ToString();
			objectToDestroy = GameObject.Find (objectName);
			//posicNextFrame = objectToDestroy.transform.position;
			Destroy(objectToDestroy);
			//newObject = Instantiate(Resources.Load(objectName)) as GameObject;
			testeCron = 0f;
			teste++;

		}
	}
}

I know that is probably a silly question but any help would be welcome.

Thanks.

I think the while statement is causing this.

if (teste < 15) 
     {
         testeCron += Time.deltaTime;
         if (testeCron >= actualRedTimer)
         {
             objectName = "Lalas_Button_" + teste.ToString();
             objectToDestroy = GameObject.Find (objectName);
             //posicNextFrame = objectToDestroy.transform.position;
             Destroy(objectToDestroy);
             //newObject = Instantiate(Resources.Load(objectName)) as GameObject;
             testeCron = 0f;
             teste++;
         }
     }
}

Does this work?

You can set an optional amount of time to delay before destroying the object.

Destroy(objectToDestroy, 3f);

Unity Scripting - GameObject.Destroy()