You might already have considered it, but the GHC eventlog together with Threadscope and ghc-events-analyze (http://www.well-typed.com/blog/2014/02/ghc-events-analyze/) can be very helpful to debug such issues.