I've created autorelease pool. localString has added to this pool. I released the pool. localString and string must be deallocated. But in reality they are still alive. You can see my log:

```
Why is the string object still alive? I don't know. 

```

and code:

```
-(NSString*) happyString
{
 NSString *localString = [[[NSString alloc] initWithString:@"I don't know."] autorelease];
 return localString;
}

-(IBAction) onButton:(id)sender
{
 NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
 NSString *string = [self happyString];
 [pool release]; 

 NSLog(@"Why is the string object still alive? %@", string);  
}

```