NEST talks back to the NEST servers all the time... that's how I can see settings, status, and temperatures from their website or from apps - that's the whole point of having a connected thermostat. The smoke detectors talk much less frequently, but they also serve as a long-term learning aid for the thermostat to help it determine when to use auto-away and when not too (especially when the thermostat might be in a place you don't go by very often, so it can't detect that you're actually home). There's no way for us to trace what goes from the NEST servers to Google...
The NEST servers are google. What I am wondering is if you can block traffic from the NEST externally and control it via an internal service you have hosted on your own network. In that case the user could write a service that interfaces with other 3rd party home automation services or their own.