It is commonly understood that CRC satisfies the linear identity with respect to the $\oplus$ (XOR) operation:
$\operatorname{CRC}(a) \oplus \operatorname{CRC}(b) = \operatorname{CRC}(a \oplus b)$
But after some experimentation and research it appears that this is not generally true.
The particular algorithm in question is the one used in HDLC, ANSI X3.66, ITU-T V.42, Ethernet, Serial ATA, MPEG-2, PKZIP, Gzip, Bzip2, PNG (see Wikipedia) which uses the polynomial $\mathtt{0x04C11DB7}$.
In what sense is CRC linear? Is this a misconception?