Resulta que eliminar por completo un nodo completo dentro de un XML, no es algo trivial como podría parecer.
Imaginemos que tenemos la siguiente estructura XML:
<node id="node01" title="Nodo 01">
<child id="child01-01">Child 01-01</child>
</node>
Y ejecutamos el siguiente código:
oNode.RemoveAll();
El resultado, nos dejaría algo así:
<node>
</node>
Que no es exactamente lo que queremos, para borrarlo totalmente, es decir, eliminar también <node>, habría que hacer:
oNode.ParentNode.RemoveChild(oNode);