Google Voice is not (by itself) VoIP. The trick is to get a real phone number that ties to a SIP VoIP account. When anyone calls that number from a real phone, it becomes VoIP and rings you on your computer or smart phone (using the data connection, and NOT your minutes). This is completely separate from Google Voice, unless of course you tell Google Voice that this SIP connected phone number belongs to you (just like your home or cell phone). There are many articles on this subject so I wont rehash. Just Google for "Google Voice" with "DID" and "SIP" etc. A good start is
here
@regression
There are multiple ways to initiate a Google Voice call. For example, if you use the Google Voice web page, then tell it to call a number and connect it to your cell phone then it "might" not use your minutes depending on your location. In the U.S. you have to pay to recieve calls so it will still use your minutes. Another way to initiate the Google Voice call is actually dialing out as you suggested. That will use minutes for both the dialing out and the incoming call. This is currently the only way that the Google Voice official application works. I think they wanted it that way because it is more reliable (if you can't get a data connection you can still make Google Voice calls). However, if you use a different application called GV (which is really slick), it has a setting to initiate the call via your data connection and won't charge you for the outgoing.
If you put all of this together you can basically get free Google Voice calls over your data connection.