It's been my experience that IB will auto liquidate ITM positions that violate "Post-Expiry Margin." This will show up as a red item on your account window. Last time they got me I think it was around 14:00 CST (on expiry day).
This is correct. In the Account window, look for that red-highlighted row; indicates that you'll be in a margin deficit post-expiry, which IB won't let happen, so they'll liquidate positions (even long ITM ones) to avoid it. Surprised to hear it's happened as early as 2pm EST though? Maybe I've just gotten lucky, since I've definitely let that red row hang out there for a while on expiry day, thinking I had until 3:30pm before liquidations would commence (which I thought was the case for some reason...) Good luck trying to get any definitive info from IB on their liquidations process. They won't tell you anything -- just that they have a super-secret proprietary algorithm that they can't tell you about, other than your best bet to not get screwed is to avoid getting too close to a margin deficit after which all bets are off.