`balena preload` fails in GitHub Action with `umount: /tmp/tmp3fib5u3l: target is busy.`

I have a GitHub Action which generates a new balenaOS image with my application preloaded each time a tag is pushed to the repository. Last week it was working, but I tagged a release today and the balena preload stage failed with the following output:

Run set -euo pipefail

Building Docker preloader image. [                        ] 0%
                                                              
Building Docker preloader image. [===                     ] 12%
                                                               
Building Docker preloader image. [======                  ] 25%
                                                               
Building Docker preloader image. [=========               ] 37%
                                                               
Building Docker preloader image. [============            ] 50%
                                                               
Building Docker preloader image. [===============         ] 62%
                                                               
Building Docker preloader image. [==================      ] 75%
                                                               
Building Docker preloader image. [=====================   ] 87%
                                                               
Building Docker preloader image. [========================] 100%







An error has occurred executing internal preload command 'get_image_info':
{"command":"get_image_info","parameters":{}}

Status code: 1
Error: Traceback (most recent call last):
  File "/usr/src/app/preload.py", line 978, in <module>
    result = method(**data.get("parameters", {}))
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/app/preload.py", line 934, in get_image_info
    "free_space": free_space(),
                  ^^^^^^^^^^^^
  File "/usr/src/app/preload.py", line 796, in free_space
    with flasher_root.mount_context_manager() as mountpoint:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/contextlib.py", line 144, in __exit__
    next(self.gen)
  File "/usr/src/app/preload.py", line 179, in mount_context_manager
    with device_mount_context_manager(device) as mountpoint:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/contextlib.py", line 144, in __exit__
    next(self.gen)
  File "/usr/src/app/preload.py", line 172, in device_mount_context_manager
    umount(mountpoint, **SH_OPTS)
  File "/usr/lib/python3.12/site-packages/sh.py", line 1524, in __call__
    return RunningCommand(cmd, call_args, stdin, stdout, stderr)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/sh.py", line 788, in __init__
    self.wait()
  File "/usr/lib/python3.12/site-packages/sh.py", line 845, in wait
    self.handle_command_exit_code(exit_code)
  File "/usr/lib/python3.12/site-packages/sh.py", line 869, in handle_command_exit_code
    raise exc
sh.ErrorReturnCode_32: 

  RAN: /bin/umount /tmp/tmp3fib5u3l

  STDOUT:


  STDERR:
umount: /tmp/tmp3fib5u3l: target is busy.




Additional information may be available with the `--debug` flag.

For further help or support, visit:
https://docs.balena.io/reference/balena-cli/latest#support-faq-and-troubleshooting



Error: Process completed with exit code 1.

The relevant section of the GitHub Action that is failing is:

      - name: Preload gateway release into image
        run: |
          set -euo pipefail
          # Preload the release that was just created, by commit to be sure it's the right one
          "${BALENA_BIN}" preload "${{ steps.os_image.outputs.image_path }}" --fleet "${BALENA_FLEET}" --commit "${{ steps.deploy_release.outputs.release_commit }}" --no-pin-device-to-release

Am I doing something wrong or is this a problem with Balena’s infrastructure?

Thank you

FYI on the third re-run the workflow succeeded.

May indicate an intermittent bug?