There is a memory leak when a method is called recursively and the object is deleted:
package require Itcl
itcl::class Class {
public method m {x} {
if {$x == 0} {
m 1
}
}
}
while 1 {
set obj [Class #auto]
$obj m 0
itcl::delete object $obj
}
The leak is ~3.5 KB per object. This was tested with Itcl 4.1.1 from June 18, 2018.