List<GameObject> mylist=GetMyList();
foreach(var item in mylist){
item.transform.DOMove (position, 2, false).OnComplete(()=>{Destroy(item.gameobject);})
}
This doesn't work. When items complete one by one, they will always delete the last item in the list.