I don't think there is much doubt that the effect is due to a DC offset in the signal. In your figure, both the real and imaginary parts are shifted upward slightly as shown by the position of the positive and negative peaks. This code
x = (0:9999)/10000;
offset = .04;
y = cos(2*pi*10*x) + offset;
plot(x,y); grid on
h = hilbert(y) + i*offset;
plot(x,real(h),x,imag(h),x,abs(h)); grid on
shows the effect, with real in blue and imaginary in red. Setting offset = 0 gives a flat line for the envelope as expected.
The problem is, it is easy enough to presume an offset in the original real signal. But for hilbert, the imaginary part of the analytic signal has no DC offset. In order to reproduce your plot I had to apply a DC offset to the imaginary part after using hilbert.