Remove the ToList - it does nothing to help - and check your data.
When I simulate your code here:
List<string> list = new List<string>();
list.Add("ISL");
list.Add("Paris");
list.Add("NY");
list.Add("SDF-23");
list.Add("LON");
list.Add("SDF-43");
list.Add("234");
list.Add("AM");
list.Add("RU");
list.Add("KAS");
list.Add("FJS-35");
list.Add("SDF-32");
list.Add("SDF-45");
var list2 = list.AsEnumerable()
.Where(x => !x.Any(char.IsDigit))
.Distinct();</string></string>
I get exactly what I expect:
ISL
Paris
NY
LON
AM
RU
KAS
Without any duplications.