The first time an LXC container is created on a MAAS node, juju creates a template called juju-<distro>-lxc-template.
That container gets a DHCP lease from MAAS, does its business, then shuts down. Juju then clones it into the definitive container it will use for the service unit and brings that one up.
These MAAS syslog logs show that the template does not issue a DHCP RELEASE when shutting down. It's also evidenced by the clone coming up and trying to request the same IP it had before, which is DHCPNAK'ed because from MAAS' point of view, it's still allocated to the template:
Sep 22 16:45:57 maas dhcpd: DHCPDISCOVER from 00:16:3e:cc:bc:6d via bond0
Sep 22 16:45:58 maas dhcpd: DHCPOFFER on 10.0.5.12 to 00:16:3e:cc:bc:6d (juju-trusty-lxc-template) via bond0
Sep 22 16:45:58 maas dhcpd: DHCPREQUEST for 10.0.5.12 (10.0.5.10) from 00:16:3e:cc:bc:6d (juju-trusty-lxc-template) via bond0
Sep 22 16:45:58 maas dhcpd: DHCPACK on 10.0.5.12 to 00:16:3e:cc:bc:6d (juju-trusty-lxc-template) via bond0
Sep 22 16:48:22 maas dhcpd: DHCPREQUEST for 10.0.5.12 from 00:16:3e:ce:a0:4b via bond0: lease 10.0.5.12 unavailable.
Sep 22 16:48:22 maas dhcpd: DHCPNAK on 10.0.5.12 to 00:16:3e:ce:a0:4b via bond0
Sep 22 16:48:22 maas dhcpd: DHCPDISCOVER from 00:16:3e:ce:a0:4b via bond0
Sep 22 16:48:23 maas dhcpd: DHCPOFFER on 10.0.5.14 to 00:16:3e:ce:a0:4b (juju-machine-0-lxc-0) via bond0
Sep 22 16:48:23 maas dhcpd: DHCPREQUEST for 10.0.5.14 (10.0.5.10) from 00:16:3e:ce:a0:4b (juju-machine-0-lxc-0) via bond0
Sep 22 16:48:23 maas dhcpd: DHCPACK on 10.0.5.14 to 00:16:3e:ce:a0:4b (juju-machine-0-lxc-0) via bond0
In the end it all works, as the container just issues a DISCOVER and starts fresh. But we leaked one IP in the process.
What version of Juju are you using?