I've had that happen with Avast for years.
My situation is Avast Free on Windows 7 in a Virtual Machine with a snapshot applied. So every boot it is returned to an older state. I have Avast set to only update definitions there, but not program versions. Then, every so often, I manually update everything and make a new snapshot (base state to revert to).
When I update Avast from a version that might be 6 months or a year old, even right after a fresh boot, this hanging behaviour happens often. The irony is that the background process that is taking forever or just seems to hang, is Avast itself!
After a hard reboot (without reverting) Avast has still updated.