Строго формально, согласно языку все локальные переменные должны инициализироваться программистом. У компилятора даже есть такое
Warning: function result variable of a managed type does not seem to initialized
То-есть, хотя компилятор сам обнуляет строковые переменные, потому как автоматически управляет счетчиком ссылок (а при неинициализированной переменной гарантированно падал бы на этом), но это, всё же, "особенности реализации", на которые не стоит полагаться.