So, i know very little about the programming side of things when it comes to games, but I have mucked around in blender before, building models for export into an ancient game engine for a mmo i used to have time to play. (Uru Online, based on Myst/Riven, if that rings any bells) Anyway, due to the age of the engine, most of what you have built here would have been done using textures only, to keep the face/vertex count low and help the engine run faster. I'm just imagining the roars the programming guys would have made if I had passed them a model with all those hidden faces requiring rendering! Lol. I would have been expected to build a long, tall, narrow box, for the bottom of the wall, with texture mapped to look like the bricks and cap, and a flat plane, or possibly a very thin box, for the wrought iron, mapped with a transparent texture to look like the bars. 16 vertices at maximum, pared down to 12 if I used a plane for the top portion. So streamline, much simple.
All that to say, that's a very nice looking wall that would never have been allowed to build, although I would have liked to very much, and I'm sad that the Uru engine was not Unity haha
I only did something similar to what you would have had to do while modeling the wall topper. I left out recreating the bottom of the topper because it would always be sitting directly on top of the wall so the player would never see it. If this ended up being a larger project some of those techniques would probably be very useful to optimize things and probably help slower computers render the needed graphics.