Ha, that's an interesting bug. If you can't sort it out now, I think we should just open it as a new issue and fix it later.

Your assumption is correct. However, are we sharing the HMMAligner between many different reads? If so, we could be seeing a race condition, where the matrix is being shared and multiple reads are trying to align using the matrix at the same time. Perhaps we should just pay the cost of making an HMM aligner per read, and doing individual allocations? That'd be cheaper than per thread synchronization around the matrix.