Se um ClientDataSet estiver muito grande e ele demorar muito para dar um close
tente
ClientDataSet.EmptyDataset; //so entao feche o ClientDataSet
ClientDataSet.Close;