So the issue was that the frame being sent out is the heartbeat frame, and if there is no NMT master to ack it, then the stack isn't treating the frame as being sent anyway, so the buffer is overflowing with the heartbeat messages. If a sniffer is active on the bus, the warnings go away. I ended up editing the code to change that warning to "warn once" so I don't keep getting that spammed out when only one CAN device is active on the bus.