Guard usage where callbacks into Ruby land can cause crashes

Also check http://timetobleed.com/the-broken-promises-of-mrireeyarv/ for
more explanation on this problem. If you call back into Ruby, it can
easily lead to a new object allocation somewhere.

This fixes a crash we experienced when benchmarking an application using
Oj on Ruby 2.0.0p247.