As far as I can tell, each site is different. Each site has varying communities with respective qualities.
As for the duration of a private beta, the answer provided by HDE 226868 is informative, and provides a basic stepping stone into the process. However, don't take it literally - exceptions are made. If I remember correctly, private beta are now allowed to take up to 3 weeks before they go public, and this is becoming common across all sites: Open Source, a site having gone through 54 days of beta at the time of this writing, went public on day 21 (I'm quite sure).
As for the decision, it will likely be taken by the Community Managers. In fact, you should already recognize a few: particularly Robert Cartaino. There will also be other community managers that will also take the decision. The decision to shut down, or go public lies with them. It is the job of the community to demonstrate that they should go public.
This site is on Day 12 of beta at the time of this writing. You can probably expect a decision/announcement to be made within a few days regarding the status of the site. Whatever the case is, be patient. Continue doing your job as a community member, by posting valuable, quality content to the main portion of the site.
In the mean time, I encourage you to read a few blog posts that may provide some additional insight:
This post has been migrated from the Open Science private beta at StackExchange (A51.SE)