My understanding was that NodeInfo should exist for as long as the Node object exists, and the best way to guarantee that is to only delete it when Node is deleted. I'm not aware of scenarios where a CSINode might be created/updated if a Node doesn't exist.