c# list remove time complexity