The ```&& heartbeat_length <= 16384``` seems like it might help.  I'll play with that and see too.

Keep in mind that with Wireshark, I'm not exactly sure how their protocol decoders and reassembly handle this case.  If they're reassembling TCP streams you should just see a heartbeat with extra data, or a malformed heartbeat message from the TLS decoder.  If they're reassembling based on the heartbeat len though, they may just not include the latter fragments in the reassembled packet; I'm not sure at this point which their doing, but the former seems more likely.