Como sublinhar seletivamente seqüências de caracteres no RichTextBox?

No meu programa, depois de clicar no botão - as entradas do ListView selecionadas devem ser copiadas para RichTextBox. O ListView contém informações de contato, e o efeito que desejo obter é semelhante ao de Oultook (ao escolher contatos do catálogo de contatos). Parte do meu código que serve a esse propósito é assim:

    private void toButton_Click(object sender, EventArgs e)
    {
        int start = 0;
        for (int i = 0; i < contactsListView.SelectedItems.Count; i++)
        {
            if (contactsTextBox.TextLength != 0) contactsTextBox.Text += "; ";
            start = contactsTextBox.TextLength;
            contactsTextBox.Text += contactsListView.SelectedItems[i].Text + " " + contactsListView.SelectedItems[i].SubItems[1].Text + " [" + contactsListView.SelectedItems[i].SubItems[2].Text + "]";
            contactsTextBox.Select(start, contactsTextBox.TextLength);       
            contactsTextBox.SelectionFont = new Font(contactsTextBox.SelectionFont, FontStyle.Underline);
            contactsTextBox.DeselectAll();
            contactsTextBox.SelectionFont = new Font(contactsTextBox.SelectionFont, FontStyle.Regular);
        }
    }

Infelizmente, de alguma forma, o FontStyle é herdado pelo texto inteiro e tudo o que digito após a entrada do ListView também é sublinhad

Então, minha pergunta é - como sublinhar apenas um determinado texto (onde cometi um erro

Há um tópico semelhante no stackoverflowaqunfelizmente, no meu caso, a solução declarou que haverá desperdício de recurso

questionAnswers(3)

yourAnswerToTheQuestion