---
title: "Why Does a C# Async Method Return Before Its Work Is Finished?"  
description: "Why Does a C# Async Method Return Before Its Work Is Finished?"  
author: "Gabriela Gómez"  
published: 2026-10-15  
canonical: https://answers.mindstick.com/qa/117585/why-does-a-c-async-method-return-before-its-work-is-finished  
category: "Mix Category"  
tags: ["c#", "Asynchronous programming", ".NET"]  
reading_time: 1 minute  

---

# Why Does a C# Async Method Return Before Its Work Is Finished?

I’m trying to understand what actually happens when an asynchronous method is called without `await`. In this small example, the message in `Main` can appear before `SaveAsync` finishes:

```cs
static async Task Main()
{
    SaveAsync(); // Starts the operation, but Main does not wait for it.
    Console.WriteLine("Main finished"); // This may print before SaveAsync completes.
}

static async Task SaveAsync()
{
    await Task.Delay(1000); // Simulates work that completes asynchronously.
    Console.WriteLine("Save finished"); // May run after Main has continued.
}
```

Is this simply a case of forgetting `await`, or are there situations where starting a task without waiting is intentional? I’m also unsure what happens to that unfinished work if the application exits.


---

Original Source: https://answers.mindstick.com/qa/117585/why-does-a-c-async-method-return-before-its-work-is-finished

Copyright © MindStick Software Pvt. Ltd. This Markdown version is provided for developers, AI systems, and offline reading.
