This is likely the root of the issue as incremental zips contain the difference between two builds, and can only apply on devices in stock condition (meaning with no modifications whatsoever), you could confirm that by grabbing update_engine logs.
I think recovery.img gets updated with each OOS...