Problem wycieku pamięci NSKeyedUnarchiver

Mam problem z tym kodem, działa on w środowisku debugowania. Na instrumentach widzę problem wycieku pamięci w tej funkcji, instrumenty ostrzegają, że

Kategoria Typ zdarzenia Znacznik czasu Adres Rozmiar Odpowiedzialny Biblioteka Odpowiedzialny rozmówca 27 SocialNetwork Malloc 00: 19.951 0x3d64d20 80 Fundacja - [NSKeyedUnarchiver _decodeArrayOfObjectsForKey:]

- (NSMutableArray *)GetDataInstanceToUserDefaults{
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];   
NSData *storedObject = [userDefaults objectForKey:@"MyDataKey"];
NSMutableArray *data;   

if(storedObject != nil)
{       
    NSArray *savedArray = [NSKeyedUnarchiver unarchiveObjectWithData:storedObject];
    if(savedArray != nil)
        data = [[NSMutableArray alloc] initWithArray:savedArray];
    else
        data = [[NSMutableArray alloc] init];
}else{
    data = [[NSMutableArray alloc] init];   
}   
return data; 

}

Nie rozumiem, gdzie jest mój problem?

Dziękuję za Twoje wsparcie

Edytuj: Przy okazji powinienem podać więcej szczegółów na temat tego problemu, ta funkcja (jak widać) przechowuje mój obiekt. Mój obiekt jest klasą niestandardową i przechowywany w NSMutableArray.

Dodałem już te metody do mojej niestandardowej klasy

-(void)encodeWithCoder:(NSCoder *)coder{
-(id)copyWithZone:(NSZone*)zone {
-(id)initWithCoder:(NSCoder *)coder{

questionAnswers(1)

yourAnswerToTheQuestion