This is my solution to WordLadder2 after several iterations.

Online judge is not passed due to timeout. However, my local timings on a release build run one of the slowest problems in 94ms and then the following problem where I hit the next timeout in sub 16ms. May be a memory issue so I'm going to try and reduce the memory overhead of the problem next.
Shaves off a third of the time on the 3rd test case by reducing overall allocation.
Ermagod, this finally passes the judge.

Note I had some bugs. My path rebuilder didn't take into account terminals of the same word break. For the rest of the performance I simply removed usage of string in a bunch of places and favored pointers. This must have eventually led to the VM being able to finish the program in the time allotted.