Hi Pavel, thanks for the information. I've been doing more investigation of this issue and there's autovacuum running on the table however it's automatically starting even if there is "autovacuum = off" in the postgresql.conf configuration file.
Real autovacuum is automatically cancelled. It looks like VACUUM started by cron, maybe?
Not if it's to prevent wraparound, which isn't unlikely if autovacuum=off.