Bike sharing systems are a key element of a smart city as they have the potential for reducing pollutant emissions and traffic congestion thus substantially improving citizens’ quality of life. In these systems, bicycles are made available for shared use to individuals on a very short-term basis. They are rented in a station and returned in any other station with free docks. However, to achieve a satisfactory user experience, all the stations in the system must be neither overloaded nor empty. The occupancy level of the stations can be constantly monitored through IoT-based services. The goal of this work is to analyze occupancy level data acquired from real systems to discover situations of dock overload in multiple stations which could lead to service disruption. The proposed methodology relies on a pattern mining approach. A new pattern type, called Occupancy Monitoring Pattern (OMPs), is proposed to characterize situations of dock overload in multiple stations. Since stations are geo-referenced and their occupancy levels are periodically monitored, OMPs can be filtered and evaluated by considering also the spatial and temporal correlation of the acquired measurements. The results achieved on real Smart City data highlight the potential of these techniques in supporting domain experts in maintenance activities, such as periodic re-balancing of the occupancy levels of the stations, as well as in improving the user experience, such as suggesting alternative stations in the neighborhood.