Using the bulletproof backgrounds from https://backgrounds.cm/ as a boilerplate, the content within the textbox does not seem to take up any vertical space and overlaps subsequent content in Outlook 2019. Here's an example:

<html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">
<head>
<title>VML-Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<style type="text/css">
body, table, td, a, center { -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; mso-line-height-rule: exactly; }
body, table, td, center { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 16px; line-height: 19px; color: #4c565c; }
table { border-collapse: collapse !important; }
table, td { mso-table-lspace: 0pt; mso-table-rspace: 0pt; }
img { border: 0; height: auto; line-height: 100%; outline: none; text-decoration: none; }
body { height: 100% !important; margin: 0 !important; padding: 0 !important; width: 100% !important; }
</style>
<!--[if gte mso 9]>
<xml>
<o:OfficeDocumentSettings>
<o:AllowPNG/>
<o:PixelsPerInch>96/o:PixelsPerInch
/o:OfficeDocumentSettings
</xml>
<![endif]-->
</head>
<body style="margin: 0 !important; padding: 0 !important; min-width: 100%; background-color: darkorange;">

<table border="0" cellpadding="0" cellspacing="0" width="600" role="presentation">
<tr>
<td>

<p style="margin: 0">Text before image</p>

<table border="0" cellpadding="0" cellspacing="0" width="100%" role="presentation">
<tr>
<td background="https://i.imgur.com/YJOX1PC.png" bgcolor="#7bceeb" width="600" valign="top">
<!--[if gte mso 9]>
<v:rect xmlns:v="urn:schemas-microsoft-com:vml" fill="true" stroke="false" style="width:600px;">
<v:fill type="tile" src="https://i.imgur.com/YJOX1PC.png" color="#7bceeb" />
<v:textbox style="mso-fit-shape-to-text:true" inset="0,0,0,0">
<![endif]-->
<div>
<h2 style="margin: 0 0 20px 0; font-size: 25px; line-height: 27px;">Headline</h2>
<p style="margin: 0;">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
<!--[if gte mso 9]>
/v:textbox
/v:rect
<![endif]-->
</td>
</tr>
</table>

<p style="margin: 0;">Text after image.</p>

</td>
</tr>
</table>

</body>
</html>

"Text after image." is not visible.

I have the same problem with fixed height content unless I specify the height in the td that surrounds the vml-part:

<table border="0" cellpadding="0" cellspacing="0" width="100%" role="presentation">
<tr>
<td style="background: #000000 url('600x200.png') center / cover no-repeat; ">
<!--[if gte mso 9]>
<v:rect fill="true" stroke="false" style="width:600px;height:200px;">
<v:fill type="tile" src="600x200.png" color="#000000" />
<v:textbox inset="0,0,0,0">
<![endif]-->
<table border="0" cellpadding="0" cellspacing="0" width="100%" role="presentation">
<tr>
<td width="100%" valign="middle" align="center" height="200" style="color: crimson; font-weight: bold;">
<p style="margin: 0;">Background-Image, TD</p>
</td>
</tr>
</table>
<!--[if gte mso 9]>
/v:textbox
/v:rect
<![endif]-->
</td>
</tr>
</table>

Any idea what I'm doing wrong?