You are presumably using a version of Blender later than the official 2.79b release - at release 2.79b the Displacement socket of the Material Output node was a 'Scalar' value (meaning it represented a displacement along the surface normal at each point on the surface).
Note that the True Displacement feature was an Experimental feature at that release and subject to change at some point in the future.
If you were to download one of the 'nightly build' pre-release versions of Blender (eg, 2.79.5) or build from the latest source you would find additional features. One such feature affects the True Displacement - the Displacement socket of the Material Output node is no longer a Scalar value (it has changed from being grey coloured to being blue - to represent a Vector. This means that the Displacement now represents a Vector displacement (in Object space).
In order to mimic the previous behaviour (where the displacement would act along the surface normal) a new Displacement node has been introduced which will generate the vector from your scalar value to then pass to the Displacement socket.
See https://blender.stackexchange.com/a/112162/29586