Нет никакой разницы между тем, как вы инициализируете его новым ключевым словом, или когда вы непосредственно устанавливаете строку, используя '='. Память распределяется в куче, поэтому сборщик мусора отвечает за сбор памяти, когда она выходит из области видимости. Единственное отличие состоит в том, что 'new' вызывает конструктор, тогда как если вы напрямую присваиваете использование using =, вызывается перегруженный оператор, и он инициализирует новый экземпляр строки.