If the files you read are large (their uncompressed version) this does not need to be a memory leak. You can adjust the java heap space matlab uses in the matlab preferences. Usually it is set to a rather small value of 128 MB - increase it and see if the problem persists.
To check whether it is a memory leak, simply try something along:
for i=1:1000 % adjust loop-number to your needs
m = zlib_decompress(...)
end
If there is a leak, this should error out once your heap space is full again. If not - your memory footprint should stay within certain limits.