Why might my Postgres table be growing?
Run this query:

SELECT * FROM pg_stat_activity ORDER BY xact_start NULLS LAST LIMIT 1;


If you get a row back where xact_start is not null and it's anything more than a few seconds old, that's your culprit.  VACUUM cannot remove rows that have transaction_ids greater than or equal to the oldest open transaction in the system (even if it's in a completely different database).  If you terminate that transaction and re-run the VACUUM, you should see more than 0 rows removable.