I find it interesting that the network seems to have trouble getting the global structure right. This is particularly clear when the source features a regular pattern that carries through the whole image. If you zoom in on a small enough region of one of the synthesized brick textures, it looks fine, but looking at the whole thing, it's clear that the network doesn't get that it needs to produce identical looking bricks and that the lines need to match up and run parallel to each other, etc.
I wonder if this global structure gets lost in the pooling layers? I'm not sure how global constraints could be enforced across pooling. Part of the pooling layers' job is to provide translation invariance, after all.