Me imagino que hay dos razones, una para la legibilidad y dos para un aumento de rendimiento menor.
La legibilidad es fácil: es mucho más rápido de detectar string.Emptyque "". La búsqueda string.Emptytambién suele ser más fácil y tal vez más precisa que buscar el literal. También aclara la intención: no solo cometiste un error tipográfico u olvidaste terminar algo, realmente querías una cadena vacía.
La razón del rendimiento se debe a la pasantía . Verá, el tiempo de ejecución mantiene una tabla de cadenas utilizadas anteriormente para que pueda hacer rápidamente comparaciones de cadenas sin hacer una verificación carácter por carácter. string.Emptyya es una referencia interna sobre ""dónde, ya que escribir el literal puede no darle la versión interna, lo que provoca un ligero impacto en el rendimiento.
"", pero nostring.Empty