Вообще не думайте над этим. От слова совсем.
Я вот знаю что надо использовать Массив, а не Лист там, где это можно.
То есть вы намеренно усложняете себе жизнь и используете более тормознутое решение, потому что кто то вам сказал.
Общие правила такие:
* Не оптимизируй
* Пиши что бы было понятно
* Испортить успеешь всегда
* Ты всегда ошибешься
* Точно скажет только профайлер!!!
Вот вам пример уже допиленного для перрфоманса кода.
https://github.com/vkorotenko/FiasServer/blob/mast...
Посмотрите как используются вот эти переменные
private List<NormativeDocument> _normDocs;
private HashSet<Guid> _normDocIds;