This is a simplification for developers, as it is not trivial to terminate a dialog correctly especially in races. Container can terminate INVITE and non-INVITE dialogs by sending the correct message sequence. Should also handle multiple dialog usages (RFC5057).
Note some terminating SIP messages (like NOTIFY) can contain payload. So, we will need to look into the problem more deeply. Also certain non-dialog creating requests such as REGISTER or PUBLISH still have long-lived semantics so we may want to consider them too.