Please, post the last 150-200 lines of avast log:
C:\Program Files\Alwil Software\Avast4\DATA\log\Setup.log
avast checks if there is an available connection each 40 seconds.
If there isn't, wait more 40 seconds to check. Checking does not take more than one second and, of course, does not use the Internet band.
If there is a connection, check for an update. If there is not any new file to download, wait 4 hours to start checking again. If there is an available update, start it and install it. Again, wait 4 hours to check the next time.
Some of this settings could be configurated different, I posted the default values of the avast4.ini file.
The program updates are released but to avoid excessive load on the servers the auto update check happens randomically every 7 days and it's not checking every time you connect to the Internet as with the iAVS checks. Every avast installation has a unique, randomly generated GUID ("general unique identifier") associated with it (it is generated during installation). This ID is random, but fixed. They use this value to determine when the updater pops up on YOUR machine, i.e., the program already knows that the update is there, but it won't tell you until it's your turn.