Ok, tell a lie. I'm still getting issues in 5.5, they just seem to be less frequent. Same crash however, app freezes during texture rebuild. I went back to 5.4 and noticed generation was a lot more responsive/ quicker and there are no crashes, even after more extreme and heavy testing. There's definitely something wrong in 5.5/5.6 on iOS.
I also noticed that when I remove some hacks in my code to fix a bug introduced in 5.4 that there are still issues in 5.5 and 5.6 that were supposed to be resolved.
The bug I'm referring to is "Substance: Fixed SubstanceImporter.ExportBitmaps generated file names."
In 5.4 I have to create the materials on a surrogate game object that ultimately gets destroyed before running a search to find my generated textures and assigning them. Where as in 5.3 I could take them directly from each individual procedural material instance, nice and clean.
In 5.5 and 5.6 I can get away without using the surrogate but still have to use the search to find them which is strange.
Anyway I'm going to have to build a repro project to get to the bottom of what's going on. It will no doubt take me some time to remove all my proprietary assets and make sure I can reproduce the bug. So it might be a few weeks / month before I can get around to it. In the meantime in order to remain productive I shall have to return to the relative safety of 5.4.

Part time solo indie dev sucks when there are so many issues between versions. I guess it's unavoidable when there are so many parts and platforms to manage. Just when I thought I'd resolved all the other issues / alterations in 5.5 and 5.6.