This really could use a better error message, though it's unclear how to achieve that while still meeting Go 1 compatibility guarantees. Given
http://play.golang.org/p/5nALeDw-IJ (2007 in the format string instead of 2006), it seems the format is parsed as `<1 digit day><3 digit offset><2 digit month><2 digit day>...` -- both the day and offset are recognized twice, while the year isn't recognized at all. While technically legitimate, intentional uses of a format like this would be exceedingly rare; we could check this in go vet, if not done already, but few of the people who've run into this issue know about or use vet.
If error messages are not covered by the Go 1 guarantee, then if a date string parse error occurs, and the format string contains duplicate or undelimited, odd sequences of fields, then the error message could be expanded to indicate that the format date must correspond to the reference time.