Fom the Windows Installer view, which I assume InstallShield has support for in this area...
There should be an option in the patch build for "include whole files" or not. If you are using that then yes, the patch will be big if there are a lot of files being patched. The other way is a delta between each binary files and could potentially be smaller. I suspect that you may be including whole files.
How can you "see that the patch is carrying all the files"? I don't understand what you are getting at. If 100 files have changed between the first MSI and the latest then there will be 100 files targeted to be patched whether the patch includes whole files or not.
If you are rebuilding every file BUT only a few actually NEED to be in the patch then there's an option for that somewhere - to ignore missing files when the patch is generated. The issue is that a rebuild alters internal dates and perhaps other parts of the binary even though the code and version haven't changed. That's why ignoring missing files is an option. Make sure that the patch generation only uses the files that you want patches for in the administrative images used for the patch generation. The patch generation process requires two admin images of both MSI aetups, which is basically the MSI file and all the files extracted to a location somewhere. The files that you don't want to patch can be manually removed from the new administrative image if you have the ignore missing files option set. In the PCP file that is used in patch generation its IgnoreMissingSrcFiles here:
https://msdn.microsoft.com/en-us/library/aa372066(v=vs.85).aspx