On one of the client's sites, I ran into a similar problem. At the moment I am trying to find a solution, so I will share information when the problem is resolved.
Check the config.php file. Find the line define(‘DB_ROWS_PER_PASS’, 400); and raise the number to something bigger like 10000 (I have the value at 1000000 for a 15GB Innodb database and it backup within 2 minutes, before it was hanging as someone mentioned before). If you don’t have any broken tables or broken php code most probably is this