That result is with full write permission. Try it yourself and observe how much space your app uses both before and after your first mass ZIP extraction. The only way to clear it all is to uninstall the app (as far as I've been able to test). Also try changing a media file in that ZIP archive, then update your app and try extracting the same file. You'll find the old media file is still loaded because it's never cleared from the sandboxed/virtual location (and you can't clear it yourself manually). So the only way to also update media files in a ZIP is to also uninstall the app completely and reinstall it.
The only alternative I know of is to write your own extraction method and do everything in memory without writing -anything- out. That is, save your media in a custom compressed format of some kind, then load it directly into a memblock, extract it using memblocks, and convert the final memblock over to its relevant media index (CreateImageFromMemblock, CreateSoundFromMemblock, etc). A potential secondary problem with this is that loading large custom compressed files into memory may not work when done from the \media folder, so file size may need to be carefully considered. Ironically if you extract a large file from a ZIP, you can then load the large file from the sandboxed/virtual location once extracted, but again, those large files are left behind and can't be cleared. So there's no real solid solution to the problem at the moment.