Someone has probably pointed this out already, but since the end result of this function is that the list is emptied, there's no need to remove one element at a time. So instead:
foreach (double temp in fakeList)
{
// do something
}
fakeList.RemoveAll();
But then, I don't have a C.S. degree...