VAC hashes all DNS entries cached by your OS (obtainable via ipconfig /displaydns) and sends them to their servers.
This would affect any page you've loaded in your browser (as long as it's still in the DNS cache), as well as any other application resolving hostnames (or well, any application using getaddrinfo and the like).
Yes, this would also include sites opened while using private browsing, since the DNS cache doesn't get flushed afterwards (at least a Mozilla bug report said so.)
I believe most Linux distributions do not come with a local DNS cache by default, so I'd guess they didn't bother implementing something like that in VAC's Linux port.
OS X does use a local DNS cache AFAIK, so it's possible. The decompiled code is Win-specific, so I can't really answer that without the decompiled code for their OS X VAC port.
Yes, this would also include sites opened while using private browsing, since the DNS cache doesn't get flushed afterwards (at least a Mozilla bug report said so.)
Can't say in which cases VAC will do all of that.