Это потому, что выделенный цвет выполняет две обязанности, он показывает выбранный узел , а показывает сфокусированный узел. Если вы ничего не делаете с событием правого клика, то он возвращается к выбранному узлу. Обходной путь должен выбрать узел:
private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) {
if (e.Button == MouseButtons.Right) treeView1.SelectedNode = e.Node;
}
Плюс ко всему, что вы хотите сделать, обычно отображается контекстное меню.