As far as I know this is a texture compression artifacts. I think you can minimize it by baking 16 bit texture. Check this great thread, it goes into a lot of details about normal map compression http://polycount.com/discussion/148303/of-bit-depths-banding-and-normal-maps/p1
Ultimately you are truncating floating point normal data into 8 bit per channel color, ending up with integers stored in less than 24 bits per pixel (as not every color is a possible normal). Another issue is that interpolated values between pixels in the normal map will not always match what you think the absolute correct…
When thinking about edge padding what you really need to consider is mip-mapping. 4 pixels of padding at 2048 may not be enough, when that texture mips down to 256 or so those 4 pixels will be sub-pixel size as 256 is 8 times smaller than 2048. 8-16 pixels for 2048 is probably a bit safer. Naturally when an asset is using…