1. You need to make it clear that this section does not apply to the payload of a PUBLISH message, since applications are free to send UTF8 encoded messages up to 256M in the payload.
You could do this by changing the second paragraph (WD04 line 473) to start "Many of the Control Packets contain components that are defined as UTF-8 encoded strings. Each of these strings is prefixed with a two byte length field that gives the number of bytes in the UTF-8 encoded string itself..."
2. WD04 line 474 says "Consequently strings must be encoded in fewer than 65536 bytes". This reads a little strangely as it's not possible to encode very long strings in fewer than 65536 bytes. It would be better to say "Consequently there is a limit on the size of a string that can be passed in one of these UTF-8 encoded string components; you cannot use a string that would encoded to more than 65535 bytes".
3. Line 484 says "Letter A followed by the surrogate pair representing CJK IDEOGRAPH EXTENSION B U+2A6D4" and then goes on to talk about surrogate pairs are. However I don't think it is necessary to talk about surrogate pairs here, since you are actually showing the code point as a regular Unicode code point, not as a UTF-16 surrogate pair. I would replace this with
"Letter A followed by the code point U+2A6D4 (which represents a CJK IDEOGRAPH EXTENSION B character) "
and remove the sentence about surrogate pairs.
4. The encoding for byte 7 shown in the table is incorrect. 0x94 in binary is 10010100