Beim Fall 1 wird das Objekt By-Value übergeben [...]
Sollte man annehmen. Wird von der Hilfe ja auch suggeriert.
Aber es ist nicht so. Es wird ebenfalls nur eine Referenz auf den String übergeben und erst wenn man diesen innerhalb der Methode auch ändert wird er on-demand kopiert.
Zumindest bei einem eben gemachten, kleinen Test