It may be helpful to know what's being displayed in the sidebar. A field? another node? As others have said, probably the easier way to go is to create two layouts, one with Moscone flipped and the other with Boston or something else, and use a layout condition to decide when one or the other will be shown.
Alternatively, with a bit more work, I have solved this in the past by creating a new template tpl.php file (placed in the theme's template folder) for Moscone, and using the variables passed to the template to show or hide a section of the template as follows
<div class="l-middle row">
<?php if (!empty($content['sidebar'])) : ?>
<div class="l-sidebar l-sidebar-first tenuto-wrapper-fixed">
<div class="tenuto-scrolling-side">
<?php print $content['sidebar']; ?>
</div>
</div>
<main class="l-content col-md-9 col-md-push-3" role="main" aria-label="<?php print t('Main content'); ?>">
<?php print $content['content']; ?>
</main>
<?php else : ?>
<main class="l-content col-md-12" role="main" aria-label="<?php print t('Main content'); ?>">
<?php print $content['content']; ?>
</main>
<?php endif; ?>
</div>
Have you looked at this contrib layout. I believe this is supposed to solve the problem.
https://backdropcms.org/project/harris_flexible
"This layout is similar to Harris layout with collapsing sidebars. If there is no content in any of the sidebars, the main content region will expand to full width."