Cycles memory problem
I know your question is ancient, but I've just hit the same problem, and yours was the closest matching thread to my circumstances - Cycles running out of VRAM on render when you have already checked Subsurf doesn't have higher Subdivisions on Render vs viewport.

My VRAM "leak" was off-camera objects. It appears viewport Cycles render only loads the objects currently on-screen into memory, while Render time everything not explicitly hidden in outliner in the Rendered layers enters VRAM.

Given you mentioned many objects, quickest fix is to use Camera Cull (think introduced Blender 2.76) ticking it under Scene> enable Simply > Tick Use Camera Cull. Then tick "Use Camera Cull" under all the possibly offscreen object's Object panel > Cycles Settings.
Provided you're not too fussed about off-camera objects casting shadows/reflections from far off, simply tick the Use Camera Cull on one object, then select all other objects with the initial object as Active and use the "Copy Custom Properties" button (installed from external script by  scorpion81: http://blenderartists.org/forum/showthread.php?316484-Addon-Copy-Custom-Properties), which will tick this on all objects instead of doing it one-by-one.