Маркус, да, это правильное решение, но это не потому, что вы не можете использовать команды с несколькими аргументами в выносках виджетов. Учтите, что в вашем исходном коде ...command=loadModelTree(treeModel)...
является вызовом метода. Лямбда позволяет вам абстрагировать команду, чтобы вы могли иметь произвольное количество аргументов, не путая интерпретатор, вызывая ее, например, ...command=lambda arg1=myarg1, arg2=myarg2, arg3=myarg3: myCallout(arg1, arg2, arg3)...
.
Надеюсь, это проясняет ситуацию.