What you can also do, to narrow down the cause, is schedule a job to write the following into a table, during the backup process.
SELECT name, log_reuse_wait_desc FROM sys.databases
WHERE name = '<name of database that you are interested in>'
That way you can see exactly what is preventing the log from being reused, no guessing.
Gail Shaw
Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability