Есть метод для формирования архива из txt фалов. Список self.file_list может состоять из 300 файлов каждый файл по 512кб

 def _create_archive(self):
        bt = BytesIO()
        zip = zipfile.ZipFile(bt, 'w', zipfile.ZIP_DEFLATED)
        for item in self.file_list:
            zip.writestr('{}.txt'.format(str(item.Name())), item.Data())
        zip.close()
        bt.seek(0)
        resulting_file = ResultingFile()
        resulting_file.SetName('ARCHIVE_NAME')
        resulting_file.SetData(bt.getvalue())
        bt.close()
        return resulting_file

При формировании этого архива в строке resulting_file.SetData(bt.getvalue()) падает через раз ошибка
Memory Error, ResultingFile:SetData: Unable to write content of vector to ResultingFile.
Есть какие-нибудь советы по оптимизации кода формирования архива?