Строковые объекты являются неизменяемыми, поэтому то, что происходит со вторым назначением, является только обновлением ссылки на объект.
На строковые литеральные объекты (такие как "Hello" и "World") будут ссылаться из Java Струнный пул (они интернированы). Поскольку это считается ссылкой, объект «Hello» не будет собираться после вашего переназначения. Это произойдет только в том случае, если сам код станет недоступным (например, если весь класс был загружен динамически, а его загрузчик классов стал недоступным).