diff --git a/src/DatabaseConnection.php b/src/DatabaseConnection.php
index ef6fd2b0c2fdf602c6223e5ff628d3e54b32faa4..fe3be9b8ca42cf676bb0baa6faaf2e6e5f65b598 100644
--- a/src/DatabaseConnection.php
+++ b/src/DatabaseConnection.php
@@ -10,7 +10,6 @@ use PDOStatement;
 use Psr\Log\LoggerInterface;
 use Swoole\Database\PDOProxy;
 use Swoole\Database\PDOStatementProxy;
-use Swoole\Event;
 
 readonly class DatabaseConnection implements Connection
 {
@@ -38,9 +37,7 @@ readonly class DatabaseConnection implements Connection
 
     public function __destruct()
     {
-        Event::defer(function (): void {
-            $this->databaseConnectionPoolRepository->putConnection($this->connectionPoolName, $this->pdo);
-        });
+        $this->databaseConnectionPoolRepository->putConnection($this->connectionPoolName, $this->pdo);
     }
 
     public function beginTransaction(): void
diff --git a/src/EventDispatcher.php b/src/EventDispatcher.php
index f1f5082cf445a39646bdd591061ecf5a390e3282..42fe2006166fb747e60bc22d67a8c9432365ca9c 100644
--- a/src/EventDispatcher.php
+++ b/src/EventDispatcher.php
@@ -8,8 +8,8 @@ use Distantmagic\Resonance\Attribute\Singleton;
 use Distantmagic\SwooleFuture\SwooleFuture;
 use Distantmagic\SwooleFuture\SwooleFutureResult;
 use Psr\Log\LoggerInterface;
-use Swoole\Event;
 
+use function Distantmagic\Resonance\helpers\coroutineMustGo;
 use function Swoole\Coroutine\batch;
 
 #[Singleton(provides: EventDispatcherInterface::class)]
@@ -31,7 +31,7 @@ readonly class EventDispatcher implements EventDispatcherInterface
 
     public function dispatch(object $event): void
     {
-        Event::defer(function () use ($event): void {
+        coroutineMustGo(function () use ($event): void {
             $this->doDispatch($event);
         });
     }
diff --git a/src/LlamaCppClient.php b/src/LlamaCppClient.php
index d93cf679c5b62b259c450fc5202a803a75b6f3de..289fcc97781eec781c688eb3f20007ad985b9776 100644
--- a/src/LlamaCppClient.php
+++ b/src/LlamaCppClient.php
@@ -29,7 +29,7 @@ readonly class LlamaCppClient implements LlamaCppClientInterface
 
     public function generateCompletion(
         LlamaCppCompletionRequest $request,
-        int $timeout = 3600,
+        int $timeout = 10800,
     ): LlamaCppCompletionIterator {
         $serializedRequest = $this->jsonSerializer->serialize($request->toJsonSerializable($this->llmChatHistoryRenderer));
         $responseChunks = $this->streamResponse($serializedRequest, '/completion', $timeout);
@@ -80,7 +80,7 @@ readonly class LlamaCppClient implements LlamaCppClientInterface
      */
     public function generateInfill(
         LlamaCppInfillRequest $request,
-        int $timeout = 3600,
+        int $timeout = 10800,
     ): Generator {
         $serializedRequest = $this->jsonSerializer->serialize($request);
         $responseChunks = $this->streamResponse($serializedRequest, '/infill', $timeout);
diff --git a/src/Session.php b/src/Session.php
index 889247e6b2133ce97511b4c62d8182d5ac800a80..b101100538dd17c8b368bd8ccdd7ad051607a48d 100644
--- a/src/Session.php
+++ b/src/Session.php
@@ -6,7 +6,6 @@ namespace Distantmagic\Resonance;
 
 use Ds\Map;
 use Redis;
-use Swoole\Event;
 
 readonly class Session
 {
@@ -37,12 +36,10 @@ readonly class Session
 
     public function __destruct()
     {
-        Event::defer(function (): void {
-            $this->redisConnectionPoolRepository->putConnection(
-                $this->sessionConfiguration->redisConnectionPool,
-                $this->redis,
-            );
-        });
+        $this->redisConnectionPoolRepository->putConnection(
+            $this->sessionConfiguration->redisConnectionPool,
+            $this->redis,
+        );
     }
 
     public function persist(): void