Since https://github.com/bitcoin/bitcoin/pull/29575, any kind of misbehavior will trigger immediate discouragement. The PR itself describes some scenarios, see:
The specific types of misbehavior that are changed to 100 are:
Sending us a block which does not connect to our header tree (which necessarily must have been unsollicited). [used to be score 10]
Sending us a headers with a non-continuous headers sequence. [used to be score 20]
Sending us more than 1000 addresses in a single addr or addrv2 message [used to be score 20]
Sending us more than 50000 invs in a single inv message [used to be score 20]
Sending us more than 2000 headers in a single headers message [used to be score 20]
The specific types of misbehavior that are changed to 0 are:
Sending us 10 (*) separate BIP130 headers announcements that do not connect to our block tree [used to be score 20]
Sending us more than 8 headers in a single headers message (which thus does not get treated as a BIP130 announcement) that does not connect to our block tree. [used to be score 10]
Besides these ones, there are some behaviors that previously would already trigger immediate discouragement, such as: too-large bloom filters, bad filteradd message, mutated blocks, peers on an invalid chain, and others.