Ну потому что у вас i<количества строк в списке, и на каждой итерации количество строк уменьшается, так как вы их удаляете, поэтому все и останавливается на середине
можно так:
var list = project.Lists["commentsName"];
int count = list.Count;
for (int i=0; i<count; i++)
{...