diff --git a/native/input/input-state-container.react.js b/native/input/input-state-container.react.js
--- a/native/input/input-state-container.react.js
+++ b/native/input/input-state-container.react.js
@@ -796,7 +796,15 @@
       const { uploadThumbnailURI } = processedMedia;
       cleanupPromises.push(
         (async () => {
-          const disposeStep = await disposeTempFile(uploadThumbnailURI);
+          const {
+            steps: clearSteps,
+            result: thumbnailPath,
+          } = await this.waitForCaptureURIUnload(uploadThumbnailURI);
+          steps.push(...clearSteps);
+          if (!thumbnailPath) {
+            return;
+          }
+          const disposeStep = await disposeTempFile(thumbnailPath);
           steps.push(disposeStep);
         })(),
       );