A solution to the v8 performance issue in this case is to implement TileCache between Terrain-Flattening and Terrain-Correction as in the graph below. Thank you @marpet. TileCache users note.
With TileCache, v8 runs in ~1/2 the time, with ~1/2 the CPU and memory resources as v7. This is a huge improvement of v8 over v7.
Use of -Dsnap.gpf.disableTileCache=true as noted in the TileCache document used 20% more CPU and the same memory as without. So disabling the global cache did not increase memory usage as noted in the TileCache document. Running the graph:
v7.0.2 ~8 min, 130 min CPU
v8.0.5 98 min, 930 min CPU wo/TileCache
v8.0.5 5 min, 50 min CPU w/TileCache
v8.0.5 5 min, 62 min CPU w/TileCache, -Dsnap.gpf.disableTileCache=true