Господа программисты, подскажите пожалуйста, почему Tk не освобождает память после уничтожения виджетов?
Вот, например, такой код.
package require Tk
package require Iwidgets
# Main form
ttk::button .launch -text "Launch" -command {createFrm}
ttk::button .exit   -text "Exit"   -command {destroy .}
pack .launch .exit
proc createFrm {} {
    # Create new toplevel and fill it with grided entryfields
    toplevel .frm
    set ::i 0
    while {$::i <= 50} {
        # Widgets
        ::iwidgets::entryfield .frm.enFirst$::i
        ::iwidgets::entryfield .frm.enSecond$::i
        # Geometry
        grid .frm.enFirst$::i  .frm.enSecond$::i -padx 5 -row $::i
        incr ::i
    }
    
    ttk::button .frm.wipe  -text "Wipe"  -command {wipeFrm}
    ttk::button .frm.close -text "Close" -command {destroy .frm}
    grid .frm.wipe .frm.close
}
proc wipeFrm {} {
    # Wipe all entry widgets
    while {$::i >= 0} {
        destroy .frm.enFirst$::i
        destroy .frm.enSecond$::i
        incr ::i -1
    } 
}
При запуске потребление памяти ~8 Mb, после создания .frm ~14 Mb.
И занятая память не освобождается ни после последовательного уничтожения виджетов, ни после простого уничтожения формы .frm.
Отчего так?



