Rolagem UITableView lenta, problema de vazamento de memória

eu tenho umUITableView e umUITableCell subclasse. Cada célula da tabela tem doisscrollviews cada um rotaciona uma quantidade dinâmica de rótulos, que são criados na implementação da minha célula de tabela. Eu tenho desempenho de rolagem ruim e acredito que é de vazamentos de memória. Estou referenciando issostackoverflow correct answer to fix my problem: gerenciamento de memória cellForRowAtIndexPath.

Não consigo descobrir como ajustar meu código para não precisar alocar memória toda vez que criar rótulos.

ViewController.m

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Custom Cell";

cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
    cell = [[CustomCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}


NSDictionary *dictionary = [parseDataArray objectAtIndex: indexPath.row];

NSArray *popularLinkTitleArray = [dictionary objectForKey:@"popularLinkTitleArray"];
NSString *soundCloudLink = [dictionary objectForKey:@"soundCloudLink"];
NSArray *soundCloudTrackTitleArray = [dictionary objectForKey:@"soundCloudTrackTitleArray"];


cell.artistNameLabel.text = artistName;

[cell createPopularLinkLabels: popularLinkTitleArray];

return cell;
}

CustomCell.m

- (void)layoutScrollLabelsForPopularLinkScrollView: (float)arrayCount
{
UIView *view = nil;
NSArray *subviews = [popularLinkScrollView subviews];

// reposition all image subviews in a horizontal serial fashion
CGFloat curXLoc = 0;
for (view in subviews)
{
    if ([view isKindOfClass:[UILabel class]] && view.tag >= 0)
    {
        CGRect frame = view.frame;
        frame.origin = CGPointMake(curXLoc, 0);
        view.frame = frame;

        curXLoc += (kScrollObjWidth);
    }
}

[popularLinkScrollView setContentSize:CGSizeMake((arrayCount * kScrollObjWidth),    [popularLinkScrollView bounds].size.height)];

}

-(void) createPopularLinkLabels:(NSArray *) popularLinkTitleArray
{

popularLinkScrollView.clipsToBounds = YES;

kScrollObjHeight = popularLinkScrollView.frame.size.height;
kScrollObjWidth = popularLinkScrollView.frame.size.width;

for (UIView* subView in popularLinkScrollView.subviews)
    [subView removeFromSuperview];

NSUInteger i;
    for (i = 0; i < popularLinkTitleArray.count; i++)
    {
        NSString *string = [NSString stringWithFormat:@"%@", [popularLinkTitleArray objectAtIndex: i]];
        UILabel *label = [[UILabel alloc] init];
        label.text = [NSString stringWithFormat:@"%@", string];
        label.backgroundColor = [UIColor clearColor];
        label.numberOfLines = 5;
        [label setFont:[UIFont fontWithName:@"Calibri" size:18]];

        // setup each frame to a default height and width, it will be properly placed when we call "updateScrollList"
        CGRect rect = label.frame;
        rect.size.height = kScrollObjHeight;
        rect.size.width = kScrollObjWidth;
        label.frame = rect;
        label.tag = i;  // tag our images for later use when we place them in serial fashion
        [popularLinkScrollView addSubview:label];
    }

[self layoutScrollLabelsForPopularLinkScrollView:popularLinkTitleArray.count];

}