There were number of cases, when MAX_SNMP_ITEMS in 128 was too much to be working, which caused different problems (tooBig(1) error).
A few possible reasons: different OIDs length, included response etc, which leas to UDP packet overcome MTU packet size, which leads to troubles in UDP-SNMP protocol which works not well for many devices.
As a result - bulk mode works bad or almost does not work.
I saw that some devices can nicely send fragmented response split to a few UDP packets (see attached example), which in total are higher that MTU, and they reconstructed on server side. I saw that on captured dumps on server side. But it happens not for all devices (snmp agents). I'm not 100% sure I understand this correctly.
How it could be improved - if you enable the bulk mode for SNMP interface, then one more input field appears or right (with default value 128) but you can set an arbitrary number in range 2-128. I mean user can decrease the upper limit manually.
I can imagine even implementation without changing current DB schema, we could use existing "bulk" column.
The level how I could recommend to decrease the value when set manually - 50-60. It's based on my own experience, when troubleshooting different issues.
If it does not help, decrease by 10 for each step.
https://support.zabbix.com/browse/ZBX-12956 (about tooBig)
To filter such errors in Wireshark, use filter "(snmp.error_status == 1)"