Да, List.map является однопоточным, поэтому порядок выполнения гарантирован.Вам просто нужно убедиться, что ваша функция сканирования не запускает асинхронный запуск и забывает операции, это, вероятно, уже имеет место, так как это самый простой способ сделать что-то, то есть убедиться, что вы используете WebClient.DownloadString
, а не асинхронную версию.