Could be that something is taking up more space and its not being caught. Either that or the -l says the maximum size for 1 file. Have you RTFM'd?
Oh yeah, I've read the man page, http://httpd.apache.org/docs/2.2/programs/htcacheclean.html, I even tried looking at the source. According to the man page:
-l Specify limit as the total disk cache size limit I've specified -l with G,M, and bytes (thinking there was a miscalculation) - no dice. I've run through several times thinking maybe there is some kind of percentage of -l that is being reached; that doesn't seem to be the case.