Búsqueda de lista sin distinción entre mayúsculas y minúsculas

Tengo una listatestList que contiene un montón de cadenas Me gustaría agregar una nueva cadena en eltestList solo si aún no existe en la lista. Por lo tanto, necesito hacer una búsqueda de mayúsculas y minúsculas en la lista y hacerla eficiente. No puedo usarContains porque eso no tiene en cuenta la carcasa. Yo tampoco quiero usarToUpper/ToLower por razones de rendimiento. Encontré este método, que funciona:

    if(testList.FindAll(x => x.IndexOf(keyword, 
                       StringComparison.OrdinalIgnoreCase) >= 0).Count > 0)
       Console.WriteLine("Found in list");

Esto funciona, pero también coincide con palabras parciales. Si la lista contiene "cabra", no puedo agregar "avena" porque dice que "avena" ya está en la lista. ¿Hay alguna manera de buscar listas de manera eficiente sin distinción de mayúsculas y minúsculas, donde las palabras tienen que coincidir exactamente? Gracias