c# list removeat complexity