It looks like the crash may be happening because the OCR result sometimes returns empty or unexpected values in release builds, and the overlay tries to read bounding boxes that aren’t actually there. This usually doesn’t show up in development because the error handling is more forgiving.
Just to understand better: have you checked whether the frame processor ever returns null or an empty array for the text blocks in your release build logs?
Could you share the part of your implementation where you process the text blocks and render the bounding boxes?