Ciao
I cambiamenti che esegui su "rtb_save" si ripercutono anche su "rtb" perchè in effetti le due variabili puntano allo stesso oggetto. Infatti qui:
Dim rtb_save As New RichTextBox
Dichiari rtb_save come un nuovo oggetto di tipo RictTextBox, ma qui:
rtb_save = rtb
le riassegni lo stesso oggetto di rtb. Infatti RichTextBox è una classe, quindi è un tipo riferimento. Assegnando un tipo riferimento quello che fai è assegnare alla variabile l'indirizzo in memoria dell'oggetto, non l'oggetto (spero di essere stato abbastanza chiaro, in caso contrario chiedi )
Per risolvere il tuo problema, dovresti trascrivere le informazioni significative nella variabile rtb_save, ad esempio così:
'dichiari la variabile d'appoggio
'e le assegni un NUOVO oggetto
Dim rtb_save As New RichTextBox()
'Copi le informazioni significative,
'ad esempio il testo formattato
rtb_save.Text = rtb.Text
E dopo aver fatto le tue considerazioni, eventualemente ricopiare le informazioni significative sulla RichTextBox originale.
Luca