anchor.diff:  %%      AddedSize is the expected binary size difference.
   %%      Note: Tolerates 250k binary, 250k processes_used and 250k ets overhead
   %%            (keep in sync with check_memory_inc_/5).
  +-spec check_memory_inc_bool_(
  +        PrevMemInfo::#mem_info{}, NewMemInfo::#mem_info{},
  +        NewItems::non_neg_integer(), AddedSize::non_neg_integer(),
  +        CheckAtoms::boolean()) -> boolean().
  +check_memory_inc_bool_(PrevMemInfo, NewMemInfo, NewItems, AddedSize, CheckAtoms) ->
  +    % assume an entry for an item uses 4 * 1k memory for ets (excluding the binary size)
  +    EntryEtsSize = 4 * 1000,
  +
  +    % we do not create additional atoms!
  +    ?implies(CheckAtoms, NewMemInfo#mem_info.atom_used =:= PrevMemInfo#mem_info.atom_used) andalso
  +    % tolerate 250k binary memory overhead for running maintenance processes and binary messages
  +    NewMemInfo#mem_info.binary =< (PrevMemInfo#mem_info.binary + AddedSize + 250000) andalso
  +    % tolerate 250k processes_used memory overhead for running maintenance processes like RT rebuild etc.
  +    NewMemInfo#mem_info.processes_used =< (PrevMemInfo#mem_info.processes_used + 250000) andalso
  +    % tolerate 250k ets memory overhead for DB data etc.
  +    NewMemInfo#mem_info.ets =< (PrevMemInfo#mem_info.ets + 250000 + (EntryEtsSize * NewItems)).
  +
  +%% @doc If debugging is disabled, execute check_memory_inc_bool_/5 with atom_used
  +%%      check, otherwise do not check atom_used if the test starts nodes (with
  +%%      debugging, atoms in the form of registered processes are generated).
   -spec check_memory_inc_bool(
           PrevMemInfo::#mem_info{}, NewMemInfo::#mem_info{},
  -        NewItems::non_neg_integer(), AddedSize::non_neg_integer()) -> boolean().
  -check_memory_inc_bool(PrevMemInfo, NewMemInfo, NewItems, AddedSize) ->
  -    % assume an entry for an item uses 4 * 1k memory for ets (excluding the binary size)
  -    EntryEtsSize = 4 * 1000,
  -
  -    % we do not create additional atoms!
  -    NewMemInfo#mem_info.atom_used =:= PrevMemInfo#mem_info.atom_used andalso
  -    % tolerate 50k binary memory overhead for running maintenance processes and binary messages
  -    NewMemInfo#mem_info.binary =< (PrevMemInfo#mem_info.binary + AddedSize + 250000) andalso
  -    % tolerate 50k processes_used memory overhead for running maintenance processes like RT rebuild etc.
  -    NewMemInfo#mem_info.processes_used =< (PrevMemInfo#mem_info.processes_used + 250000) andalso
  -    NewMemInfo#mem_info.ets =< (PrevMemInfo#mem_info.ets + 250000 + (EntryEtsSize * NewItems)).
  -
  -%% @doc Checks whether the NewMemInfo field indicates increased memory use
  -%%      compared to PrevMemInfo. AddedSize is the expected binary size
  -%%      difference.
  +        NewItems::non_neg_integer(), AddedSize::non_neg_integer(),
  +        TestStartsNodes::boolean()) -> boolean().
  +-ifdef(enable_debug).
  +check_memory_inc_bool(PrevMemInfo, NewMemInfo, NewItems, AddedSize, TestStartsNodes) ->
  +    check_memory_inc_bool_(PrevMemInfo, NewMemInfo, NewItems, AddedSize, not TestStartsNodes).
  +-else.
  +check_memory_inc_bool(PrevMemInfo, NewMemInfo, NewItems, AddedSize, _TestStartsNodes) ->
  +    check_memory_inc_bool_(PrevMemInfo, NewMemInfo, NewItems, AddedSize, true).
  +-endif.
  +
  +%% @doc Helper for check_memory_inc/5.
   %%      Note: Tolerates 250k binary, 250k processes_used and 250k ets overhead.
  --spec check_memory_inc(
  -        PrevMemInfo::#mem_info{}, NewMemInfo::#mem_info{},
  -        NewItems::non_neg_integer(), AddedSize::non_neg_integer()) -> ok.
  -check_memory_inc(PrevMemInfo, NewMemInfo, NewItems, AddedSize) ->
  -    check_memory_inc_(PrevMemInfo, NewMemInfo, NewItems, AddedSize, true).
  -
  -%% @doc Helper for check_memory_inc/4.
   -spec check_memory_inc_(
           PrevMemInfo::#mem_info{}, NewMemInfo::#mem_info{},
           NewItems::non_neg_integer(), AddedSize::non_neg_integer(),
  
positive.code:                           end, fun(_P1, P2) -> P2 end),
      ?equals(OnlyNew, []),
  %%     ct:pal("~p~n", [erlang:memory()]),
      check_memory_inc_ring(PrevMemInfo, NewMemInfo, 0, 0),
      ok.
  
  add_remove_nodes_50(_Config) ->
  
negative.code:               unittest_helper:make_ring(1, [{config, [{log_path, PrivDir}, {monitor_perf_interval, 0}]}]),
                unittest_helper:stop_ring()
        end),
      NewMemInfo = garbage_collect_all_and_check(10, PrevMemInfo, 0, 0, true),
      NewProcesses = unittest_helper:get_processes(),
      {_OnlyOld, _Both, OnlyNew} =
          util:split_unique(OldProcesses, NewProcesses,
  