Utilities.sleep (milisegundos) crea una 'pausa' en la ejecución del programa, lo que significa que no hace nada durante el número de milisegundos que pida. Seguramente ralentiza todo tu proceso y no deberías usarlo entre llamadas a funciones. Sin embargo, hay algunas excepciones, al menos la que yo sé: en SpreadsheetApp cuando quiere eliminar un número de hojas, puede agregar unos cientos de milisegundos entre cada eliminación para permitir la ejecución normal de scripts (pero esto es una solución) para un problema conocido con este método específico). Tuve que usarlo también cuando creé muchas hojas en una hoja de cálculo para evitar que el navegador se "actualizara" después de la ejecución.
Aquí se muestra un ejemplo:
function delsheets(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var numbofsheet=ss.getNumSheets();// check how many sheets in the spreadsheet
for (pa=numbofsheet-1;pa>0;--pa){
ss.setActiveSheet(ss.getSheets()[pa]);
var newSheet = ss.deleteActiveSheet(); // delete sheets begining with the last one
Utilities.sleep(200);// pause in the loop for 200 milliseconds
}
ss.setActiveSheet(ss.getSheets()[0]);// return to first sheet as active sheet (useful in 'list' function)
}