Elevation reported by GPS can vary a lot even when you stay at the same level. For example we've seen from our users that even when paddling on lakes without waves or tide the elevation reported by GPS can go up and down for as much as 100ft (30m) in extreme cases. Different apps handles this differently.
Argus tries to find points in the path when you change vertical direction. Bottoms of valleys, peaks of the hills and calculates vertical distances between valleys and peaks. This works well in most cases but may still occasionally fail and count some extra ft and miss some ft. This are the limitations of GPS technology. More expensive GPS sport watches use barometer based altimeters together with GPS to calculate this more accurately but this technology is currently not available on the iPhone.