DoClaudeRequest creates a TTMSMCPCloudAIResponse instance which gets freed in DoExecuted() but only if lToolReq is False.
If tools are used, lToolReq is True and the TTMSMCPCloudAIResponse instance won't get freed.
So every response that involves a tool call leaks one TTMSMCPCloudAIResponse instance, together with everything it owns internally (its content and the JSON-derived strings held in it — message id, model name, response text, etc.).