You seem to be worried about SysUtils. Here's what happens:
Smart Linking will be βsmartlinkβ to all that can prove that the application never uses. Unfortunately, the criteria for proof are very high. If you use the device and has anything in the initialization section, any code used there is guaranteed to be executed, so it will be dragged into your application along with any classes used there, plus any classes that these classes use, etc.
In the case of SysUtils, this means a complete exception handling package. You cannot get rid of it without completely removing SysUtils from your application. Allen Bauer mentioned that they may use a new trick in a future release to reduce this, but for now you are stuck with it.
source share