According to Wikipedia (and confirmed in an answer by Dario Solera), in Italy they format times using colons:
The 24-hour notation is used in writing
The hours/minutes separator (TimeSeparator) in Italy seems to be a ., not a :.
You are specifically formatting for the Italian culture, so it follows that this is what will be used.
In a DateTime format string, the : is a place holder for this separator - if the culture defines . or , or anything else as the separator, that's what will be substituted when formatting the DateTime with that culture.