When can a contrib module considered to be stable? Is there a clear definition of a module being stable in comparison with a release candidate? When can a stable version be released?

As an example, can't the Read only mode module considered stable?
Read the docs.

Release naming conventions


  rc: A release candidate should only be created when the all critical bug type issues are reported fixed in the project's issue
  queue. This tag should only be used when the developer believes that
  the project is ready for use on a production site. There is no
  official best practice for how long a project should be a release
  candidate before creating a official .0 release, but it is suggested
  that it should be out for at least a month with status set to "needs
  review". If something (e.g. a new critical bug is reported) makes it
  necessary to create a new release during this period, a new release
  candidate should be created and this should remain for at least a
  month with status set to "needs review".