releasing a UILabel in dealloc crashes the app after it was retained, allocated & autoreleased
===

I have a `UILabel` in my class header file defined as : `@property (nonatomic, retain) UILabel *label1;` and it exists as instance variable like this: `UILabel *label1;` and synthesized in the `.m` file, however, in `viewDidLoad` method I do: `self.label1 = [UILabel alloc] init] autorelease];`, then I do various things on the label like setting its frame, text color, etc ... 
when the view controller is deallocated, the app crashes with this message in console (Zombies enabled): `[CALayer release] message sent to deallocated instance` ...

The app will not crash when I :

1) remove the `autorelease` word .. or

2) do not release label1 in the dealloc method .. or

3) remove [super dealloc]; from the dealloc method of the view controller.



how can I properly release this `UILabel` without facing such crash !! 