I agree with you, the documentation itself states that prototype scope should be used for stateful components. I created a ticket to track this issue (SONARJAVA-3394).
Then, what about other scopes? Indeed, they may not behave as a singleton, but excluding them from the rule seems more discussable.
I see, I updated the ticket to state the possibility of custom lifecycles. For now, the rule will support this situation “at best”, avoiding possible false positives and still reporting interesting issues with common scopes.
We eventually plan to come back to rules specific to Spring in the future, if there is something better to do for this rule, we will definitely think about it, and take your input into account.