Backup and migrate exhausts memory
I managed to reduce the memory exhaustion with remedying the last edit's errors in the following matter:

I added a not empty check for the "groups" index in the array around the foreach function on the 91-st line of code in DrupalConfigHelper.php

static public function addFieldsFromSchema(&amp;$form, $schema, ConfigInterface $config, $parents = []) {
// Add the specified groups.
// Temp fix for "Undefined index: groups..."
if(isset($schema['groups']) &amp;&amp; !empty($schema['groups'])){
  foreach ($schema['groups'] as $group_key =&gt; $item) {
    // If the group is just called 'default' then use the key from the plugin as the group key.
    // @TODO: make this less ugly.
    if ($group_key == 'default' &amp;&amp; $parents) {
      $group_key = end($parents);
    }
    if (!isset($form[$group_key])) {
      $form[$group_key] = [
        '#type' =&gt; 'fieldset',
        '#title' =&gt; $item['title'],
        '#tree' =&gt; FALSE,
      ];
    }
  }
}


And fixed the "undefined index #description" error on line 116 by checking if the "#description" index exists, and if not create it with empty value to be processed on the initial 116 line.

switch ($item['type']) {
    case 'text':
      $form_item['#type'] = 'textfield';
      if (!empty($item['multiple'])) {
        $form_item['#type'] = 'textarea';
        // Temp fix for "Undefined index #description..."
        if (!isset($form_item['##description'])) {
          $form_item['##description'] = '';
        }
        $form_item['#description'] .= ' ' . t('Add one item per line.');
        $form_item['#element_validate'] = ['BackupMigrate\Drupal\Config\DrupalConfigHelper::validateMultiText'];
        $value  = implode("\n", $value);
      }
      if (!empty($item['multiline'])) {
        $form_item['#type'] = 'textarea';
      }
...


Now backup works nicely.