Well after some basic investigation I have found the problem.
Overlapping surfaces that both have contours displayed will cause freezing when osnaps is turned on.
Download the example file here – onsnaps-freeze1, see image below for explanation. Try and draw a polyline over the top of the overlapping area with onsnaps turned on
I can confirm that this happens in both Civil 3D 2014 and 2015. With 2015 recovering slighltly faster than 2014. say 3-5 minutes instead of 10 – 15minutes