Hi Craig,
I do apologise for this, as our releases really are all over the place.
The main reason for this is the nature of the work on NCrunch. Most software can be developed on its own timetable, where features are the priority and releases are organised around them. This makes it possible to set a approximate goals for releases (i.e. every 2 weeks, every month, etc). NCrunch is very different to this, as around 60-80% of the work on NCrunch isn't actually on product features - it's compatibility and integration work with ever evolving platforms and other toolsets.
Some compatibility and integration tasks can appear on the board very suddenly and be very large. These tend to be tasks that can't be half finished, as otherwise people will immediately experience problems with them and we are left scrambling to try and provide workarounds for these problems when we're already aware of them and are in the process of fixing them. So pushing this sort of work early only creates frustration for everyone.
My personal preference would be to push a new release every 2-3 months containing finished features. In my experience, this is enough time to take something from concept through to solid delivery with enough time for dogfooding and proper testing. In practice, some of our release cycles can be as short as just a few days or a couple of weeks if there's a major breaking change in the ecosystem that we need to address.