Используя функциональный диапазон C# 8, создает ли он новую строку в памяти или предоставляет «указатель» на части памяти предыдущей строки, уже находящейся там?
Я не слежу за вашим вопросом. Диапазон string - это не string, а массив char. string реализует IEnumberable<char>.
string
char
IEnumberable<char>
Если вы хотите подстроку, тогда вы должны использовать string.Substring, и да, она создаст новую string.
string.Substring