diff --git a/nimble/host/mesh/src/adv.c b/nimble/host/mesh/src/adv.c
index 3143838..9f28614 100644
--- a/nimble/host/mesh/src/adv.c
+++ b/nimble/host/mesh/src/adv.c
@@ -233,6 +233,7 @@
 	ble_npl_event_set_arg(&adv->ev, buf);
 
 	return buf;
+	os_mbuf_free_chain(buf);
 }
 
 struct os_mbuf *bt_mesh_adv_create(enum bt_mesh_adv_type type, uint8_t xmit,
diff --git a/nimble/host/mesh/src/cfg_cli.c b/nimble/host/mesh/src/cfg_cli.c
index ad5419e..55e9b5a 100644
--- a/nimble/host/mesh/src/cfg_cli.c
+++ b/nimble/host/mesh/src/cfg_cli.c
@@ -1068,6 +1068,7 @@
 		return err;
 	}
 
+	os_mbuf_free_chain(msg);
 	return cli_wait();
 }
 
@@ -1107,6 +1108,7 @@
 		return 0;
 	}
 
+	os_mbuf_free_chain(msg);
 	return cli_wait();
 }
 
@@ -1188,6 +1190,7 @@
 		return err;
 	}
 
+	os_mbuf_free_chain(msg);
 	return cli_wait();
 }
 
@@ -1228,6 +1231,7 @@
 		return 0;
 	}
 
+	os_mbuf_free_chain(msg);
 	return cli_wait();
 }
 
@@ -1350,6 +1354,7 @@
 		return 0;
 	}
 
+	os_mbuf_free_chain(msg);
 	return cli_wait();
 }
 
@@ -1420,6 +1425,7 @@
 		return err;
 	}
 
+	os_mbuf_free_chain(msg);
 	return cli_wait();
 }
 
diff --git a/nimble/host/mesh/src/cfg_srv.c b/nimble/host/mesh/src/cfg_srv.c
index 3b52f86..f0042e6 100644
--- a/nimble/host/mesh/src/cfg_srv.c
+++ b/nimble/host/mesh/src/cfg_srv.c
@@ -336,6 +336,8 @@
 	if (bt_mesh_model_send(model, ctx, msg, NULL, NULL)) {
 		BT_ERR("Unable to send App Key Status response");
 	}
+
+	os_mbuf_free_chain(msg);
 }
 
 static void app_key_add(struct bt_mesh_model *model,
@@ -2120,6 +2122,8 @@
 	if (bt_mesh_model_send(model, ctx, msg, NULL, NULL)) {
 		BT_ERR("Unable to send Node Identity Status");
 	}
+
+	os_mbuf_free_chain(msg);
 }
 
 static void node_identity_get(struct bt_mesh_model *model,
diff --git a/nimble/host/mesh/src/transport.c b/nimble/host/mesh/src/transport.c
index b9f3276..14d7d24 100644
--- a/nimble/host/mesh/src/transport.c
+++ b/nimble/host/mesh/src/transport.c
@@ -551,6 +551,8 @@
 				 */
 				k_mem_slab_free(&segs, &buf);
 				tx->seg[seg_o] = NULL;
+
+				os_mbuf_free_chain(seg);
 			}
 		}
 
@@ -977,6 +979,7 @@
 	/* Adjust the length to not contain the MIC at the end */
 	buf->om_len -= APP_MIC_LEN(0);
 
+	os_mbuf_free_chain(buf);
 	return sdu_recv(rx, hdr, 0, buf, sdu, NULL);
 }
 
@@ -1474,6 +1477,7 @@
 
 	seg_rx_reset(rx, false);
 
+	os_mbuf_free_chain(buf);
 	return err;
 }
 
