I have found that subclassing PointGraph is very useful, but there are some simple changes I needed to make. This allowed me to create my own rules for making connections, but also take advantage of the distance based node connection.
change ConnectNodes() from private to protected.
add a bool arg to ConnectNodes(bool keepConnections=false)
and around line 363, insert
if (keepConnections && node.connections != null) connections.AddRange(node.connections);
Thanks for the very useful tools!