CGAffineTransformConcatの疑問

ViewControllerのviewDidLoadメソッドでラベル(UILabel)をビューに追加し、そのラベルに対して、アフィン変換で移動と回転を適用しました。

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
	// Do any additional setup after loading the view, typically from a nib.
    
    CGSize size = CGSizeMake(130, 30);
    NSString* text = @"こんにちは世界1";
    
    UILabel* label1 = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, size.width, size.height)];
    label1.text = text;
    [self.view addSubview:label1];
    
    UILabel* label2 = [[UILabel alloc] initWithFrame:CGRectMake(0, 150, size.width, size.height)];
    label2.text = @"こんにちは世界2";
    [self.view addSubview:label2];
    
    label2.transform = CGAffineTransformConcat(CGAffineTransformMakeRotation(90 * M_PI / 180),
                                               CGAffineTransformMakeTranslation(30, 0));
    
    UILabel* label3 = [[UILabel alloc] initWithFrame:CGRectMake(0, 300, size.width, size.height)];
    label3.text = @"こんにちは世界3";
    [self.view addSubview:label3];
    
    label3.transform = CGAffineTransformConcat(CGAffineTransformMakeTranslation(30, 0),
                                               CGAffineTransformMakeRotation(90 * M_PI / 180));
}

実行すると、以下のようになります。

f:id:noriok:20120410013111p:plain

疑問: "こんにちは世界2" と "こんにちは世界3" の x 座標が揃わずにずれているのは何故だろうか。どちらも移動量と回転量は同じなのに。