Por que essa função usa muita memória?

Estou tentando descompactar um vetor binário de 140 milhões de bits na lista. Estou verificando o uso de memória dessa função, mas parece estranho. o uso da memória aumenta para 35 GB (GB e não MB). como posso reduzir o uso de memória?

sub bin2list {
    # This sub translates a binary vector to a list of "1","0" 
    my $vector = shift;
    my @unpacked = split //, (unpack "B*", $vector );
    return @unpacked;

}

questionAnswers(2)

yourAnswerToTheQuestion