Adaptive subdivision modifier causes high memory
It looks like you might be better off not using adaptive subdivision. According to the docs, this property makes muti user objects single user objects, causing increased memory.

This might mean that its separating each iteration of the array (which would make sense as each one needs to be subdivided differently.)

Another solution might be to shorten your array a bit, then manually duplicate the array and lower the subsurf level.

Just out of curiosity, what happens if you move the array below the subsurf? (Other than messing up your seams) Does that help with render times at all?