Table full while deleting fast

Is the table using the InnoDB storage engine? Is is a standalone database i.e. no replication going on? Are you using partitioning on the table? Are you forced to stick with 5.7? (This may well not be a problem, but it’s a context question really…) What’s the approach? Are you using a procedure with a LIMIT clause on the query (for example)?
I’m wondering if pt-archiver could help you out here. It sounds like a design tweak is needed but without knowing a big more it might be hard for the team to answer. But I think pt-archiver might be worth reviewing as an alternative approach. Here’s a blog post too: https://www.percona.com/blog/2013/08/12/want-to-archive-tables-use-pt-archiver/