This is not true. If you take a piece of GPL code and modify it, all your modifications have to be GPL as well.Bullshit. The GPL is a distribution license. You can reject it, and you still have every right to use the software for whatever purpose you want, including private modifications. When you choose to distribute the software after rejecting the GPL, you then have only the rights given to you under default copyright law, which is to make a single archival copy that is to be destroyed when ownership of the original copy is transferred. The GPL _does not_ apply to you until you distribute a copy or a derivative work of the software which was licensed under the GPL.
Yes, but the rest of your app is de facto GPL. As mentioned earlier, it doesn't mean you have to make it public, but it still has to be GPL.Wrong. As long as you are not distributing the GPL code itself or a binary dynamically linked to a GPL library, you have no obligation under the GPL. By the way, there is no case law upholding the dynamic linking clause. To be safe, just distribute your source code (under whatever license you choose).
Since the GPL is all about distributing the source code along with the binaries, I don't really know how you could do thatIt's easy to satisfy the GPL. Either you distribute the source of both your software (under the GPL) and the GPL software to the person who received a binary comprising both, or make a written offer encompassing that. The catch is that if a written offer is made, it must be valid for any third party, not just the person whom you distributed the binary to. But you do not have to disclose this written offer to anyone besides the recipient of the binary.
If you meant, how do you get away with proprietary software linked to a GPL library, then the answer is simple - don't distribute binaries, ever. Let the user download and compile/link the source.