I would imagine it is due to the inline-block rendering the inside of the element as a block. Since you don't have white space between the text and the span it's forcing a break and then dropping it onto a different line.
Not noticed it before though so it's mainly speculation.