This issue happens, BOTH on WATER, and VS2017.
As illustrated in the following figure, break point are set consecutively from Line 12 to Line 19.
However, in debugging mode (F10), only Line 12, 14, 16, and 18 are capable of being hit. 13, 15, 17 are just by-pased.
I double checked - this behavior happens on VS2017 too. It happens not only with IUnknown, it happens with any IUnknown-derived interface.
Did I miss something here?