Allora per cancellare gli oggetti dall' ArrayList puoi utilizzare il metodo piu veloce cioè nomearraylist.Clear
Detto tra parentesi i cicli foreach dovrebbero essere utilizzati per la sola lettura, meglio un cilco for se devi modificare un array, comunque in questo caso basta il metodo clear. Però bisogna vedere se gli oggetti sono memorizzati direttamente nell'arraylist o se vi fa solo riferimento. Non sono sicuro pienamente del mio consiglio anche perchè non ho capito bene quello che devi fare però spero di essere stato utile.