• There can be many reasons. Try checking the log_reuse_wait_desc next time. It will tell you if (e.g.) there's a long-running transaction in progress, or maybe the database is in an Availability Group and the secondary hasn't caught up yet. Or mirroring, or replication...

    select name, log_reuse_wait_desc from sys.databases

    Alternatively, it could just be that your database isn't very active, and all of your records are in the same VLF .