Thank you guys. It is that I am coming from PC programming and that is why it is quite weird behaviour for me.
Pieter's scenario looked more likely to me. So, I've tried to manually reset the board (after it has been run once and printed twice ) and it does print twice again! everytime I push the reset button, it prints double value.
What I mean, the board is connected, sketch is uploaded, program runs - prints twice. OK, then I manually reset with the board button and it prints twice, again. I guess, it should not be anything coming from PC side or sitting in the buffer (I supposed buffer purged automatically after print() returns).
Pcbbc scenario b) tells me that when the serial monitor connects, the board resets. This looks like a reasonable explanation for this double print and looks like a board specific behaviour.
It would be interesting to see how board behaves in real world scenario. I will need to get a proximity sensor to hook up and test.