I checked the memory usage with psutils and it did not show any anomalies either.
Here is the result before the training process started:
Number of logical CPUs:  24
Number of usable CPUs:  24

System-wide CPU utilization in percents
[0.0, 0.0, 3.1, 0.0, 3.1, 0.0, 0.0, 3.0, 3.1, 0.0, 0.0, 0.0, 0.0, 0.0, 4.6, 0.0, 3.1, 0.0, 0.0, 0.0, 0.0, 0.0, 4.6, 0.0]

scputimes(user=827.953125, system=295.078125, idle=143858.734375, interrupt=25.1875, dpc=10.765625)
scpustats(ctx_switches=26253563, interrupts=26349294, soft_interrupts=0, syscalls=95250029)

CPU frequency
[scpufreq(current=0.0, min=0.0, max=3793.0)]

Average system load (last 1,5,15 min): (0.0, 0.0, 0.0)

Virtual memory: svmem(total=68661460992, available=59425591296, percent=13.5, used=9235869696, free=59425591296)
Swap memory: sswap(total=131090264064, used=12851814400, free=118238449664, percent=9.8, sin=0, sout=0)

p.name: python.exe
p.cpu_times: pcputimes(user=183.859375, system=5.84375, children_user=0.0, children_system=0.0)
p.cpu_percent: 0.0
p.create_time: 1597084049.2833054
p.ppid: 4692
p.status: running

p.memory_info: pmem(rss=3085524992, vms=4347408384, num_page_faults=2529304, peak_wset=5924450304, wset=3085524992, peak_paged_pool=4022904, paged_pool=4000824, peak_nonpaged_pool=1136144, nonpaged_pool=243520, pagefile=4347408384, peak_pagefile=7221661696, private=4347408384)

p.memory_full_info: pfullmem(rss=3085524992, vms=4347408384, num_page_faults=2529304, peak_wset=5924450304, wset=3085524992, peak_paged_pool=4022904, paged_pool=4000824, peak_nonpaged_pool=1136144, nonpaged_pool=243520, pagefile=4347408384, peak_pagefile=7221661696, private=4347408384, uss=3023179776)

p.num_threads: 11
p.cpu_affinity: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23]

And here is the result retrieved in the end of the first iteration/epoch (the training cant reach the second iteration due the memory issue stated above):
Number of logical CPUs:  24
Number of usable CPUs:  24

System-wide CPU utilization in percents
[18.8, 0.0, 18.7, 0.0, 18.8, 0.0, 9.2, 10.9, 9.4, 10.8, 0.0, 18.8, 18.8, 0.0, 18.8, 0.0, 18.8, 0.0, 17.2, 0.0, 17.2, 0.0, 0.0, 0.0]

scputimes(user=832.453125, system=296.140625, idle=144024.65625, interrupt=25.203125, dpc=10.765625)
scpustats(ctx_switches=26279544, interrupts=26383509, soft_interrupts=0, syscalls=101678318)

CPU frequency
[scpufreq(current=0.0, min=0.0, max=3793.0)]

Average system load (last 1,5,15 min): (0.0, 0.0, 0.0)

Virtual memory: svmem(total=68661460992, available=59290755072, percent=13.6, used=9370705920, free=59290755072)
Swap memory: sswap(total=131090264064, used=13011005440, free=118079258624, percent=9.9, sin=0, sout=0)

p.name: python.exe
p.cpu_times: pcputimes(user=186.6875, system=6.796875, children_user=0.0, children_system=0.0)
p.cpu_percent: 0.0
p.create_time: 1597084049.2833054
p.ppid: 4692
p.status: running

p.memory_info: pmem(rss=3218452480, vms=4490510336, num_page_faults=2613072, peak_wset=5924450304, wset=3218452480, peak_paged_pool=4022904, paged_pool=4000824, peak_nonpaged_pool=1136144, nonpaged_pool=248144, pagefile=4490510336, peak_pagefile=7221661696, private=4490510336)

p.memory_full_info: pfullmem(rss=3218452480, vms=4490510336, num_page_faults=2613072, peak_wset=5924450304, wset=3218452480, peak_paged_pool=4022904, paged_pool=4000824, peak_nonpaged_pool=1136144, nonpaged_pool=248144, pagefile=4490510336, peak_pagefile=7221661696, private=4490510336, uss=3154444288)

p.num_threads: 22
p.cpu_affinity: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23]

And here is the code for generating this info:
def dump_cpu_memory_info():
    print("Number of logical CPUs: ",psutil.cpu_count())
    print("Number of usable CPUs: ",len(psutil.Process().cpu_affinity()))
    print()
    print('System-wide CPU utilization in percents')
    print(psutil.cpu_percent(interval=1,percpu=True))
    print()
    print(psutil.cpu_times())
    print(psutil.cpu_stats())
    print()
    print("CPU frequency")
    print(psutil.cpu_freq(percpu=True))
    print()
    print("Average system load (last 1,5,15 min):",psutil.getloadavg())
    print()
    print('Virtual memory:',psutil.virtual_memory())
    print('Swap memory:',psutil.swap_memory())
    print()

    p = psutil.Process()
    with p.oneshot():
        print("p.name:",p.name())
        print("p.cpu_times:",p.cpu_times())
        print("p.cpu_percent:",p.cpu_percent())
        print("p.create_time:",p.create_time())
        print("p.ppid:",p.ppid())
        print("p.status:",p.status())
        print()
        print("p.memory_info:",p.memory_info())
        print()
        print("p.memory_full_info:",p.memory_full_info())
        print()
        print("p.num_threads:",p.num_threads())
        print("p.cpu_affinity:",p.cpu_affinity())