It depends on the zooming factor (CTRL+/-) of the view i.e. the number of hours displayed in the view, but arises when the height of the events is the minimum value.
The minimum height depends on the text font size and a bit of margin/padding in the event boxes (the minimum height allows to vertically display the text).
If you set a duration to 5 minutes for every event, you get the same problem if the zoom is too little.
To avoid the problem you have to increase the zoom factor, or you can add some css code in the userChrome.css file in order to reduce the minimum height of the boxes. Without changing the font size, you can try something like:
.calendar-event-box-container {
margin: 0px !important;
}
but obviously the problem arises again if the zoom factor is too little.