Pin Annotations Not dequeue if small number
I have various number of annotations come from server. Annotations number range could be from 3 up to 1300. I was testing edge cases, where I have 3 annotations, and dequeueWithIdentifier for map view always returns me nil and that's why new pinView is added every time.

If your annotations are still visible on the map, the dequeueReusableAnnotationViewWithIdentifier will always return nil, because there are no annotations to reuse. The dequeueReusableAnnotationViewWithIdentifier use the annotationViews offscreen to display the annotations visible on the map
@samuel-gallet At first launch it shows one annotationView per annotation, when i scroll the map to the locations where pins are not on the map, when I come back there is one new added. On screenshot you see the result after 7-8 such operations. I do not call dequeueReusableAnnotationViewWithIdentifier manually, it is being triggered when I go to the target location which is visible on the map.
Here is an expected behavior, if I use addNonClusteredAnnotation: method instead of setAnnotations: dequeReusable returns me always non-nil view

Can you give an example of how you are using the library? Indeed, everything looks fine for me. You can try our demo project, the dequeueReusableAnnotationViewWithIdentifier method does not return nil value when called in the ADClusterMapView delegate method:
- (MKAnnotationView *)mapView:(ADClusterMapView *)mapView viewForClusterAnnotation:(id<MKAnnotation>)annotation