I understand that different material instances are treated like different materials but the batcher seems to be able to batch them together for the opaques render pass. See my post here for a clear example:
When I change that example to use property blocks, it actually breaks the batching for the opaque pass. Perhaps I’m not using them correctly.