Delphi XE2 DataSnap - Descargar archivo a través de TStream con barra de progreso

He escrito un método de servidor DataSnap que devuelve un objeto TStream para transferir un archivo. La aplicación cliente llama al método y lee bien la secuencia. Mi problema es que la llamada al método tarda un tiempo en completarse antes de que el objeto TStream esté disponible para leer, pero en el lado del servidor puedo ver que la llamada al método solo toma un segundo para crear el objeto para regresar. Esperaba que el objeto de la secuencia se devolviera de inmediato para poder leer la secuencia y mostrar una barra de progreso para el progreso de la descarga. ¿Hay otra manera de hacer esto?

El método del servidor es muy simple:

function TServerMethods.DespatchDocument(sCompanyID, sDocOurRef: string): TStream;
var
  sSourceFilePath: string;
  strFileStream: TFileStream;
begin
  sSourceFilePath := GetDocumentPDFFilePath(sCompanyID, sDocOurRef);

  strFileStream := TFileStream.Create(sSourceFilePath, fmOpenRead);
  Result := strFileStream;
end;