C # SQLite, la base de datos se deja bloqueada después de una lectura

He leído algunas de las publicaciones relacionadas sobre esto y no entendí del todo. Lo que sucede es que parece que después de este acceso a la base de datos, la base de datos se deja bloqueada para que pueda leerse, pero no escribirse en ella. Después de salir de la aplicación, la base de datos se desbloquea nuevamente. ¿Puedes mirarlo y hablarme como si fuera ignorante, señalar el error de mi forma de manejar esto?

 public static Partner GetOnePartner(string code)
 {
    Partner partner = new Partner();
    SQLiteConnection connection = GroomwatchDB.GetConnection();
    string sqlStatement = "SELECT * FROM partners WHERE partner_code = @partner_code";

    SQLiteCommand command = new SQLiteCommand(sqlStatement, connection);
    command.Parameters.Add(new SQLiteParameter("@partner_code"));
    command.Parameters["@partner_code"].Value = code;

    try
    {
        connection.Open();
        SQLiteDataReader reader = command.ExecuteReader(CommandBehavior.SingleRow);
        if(reader.Read())
        {
            partner.Code = reader["partner_code"].ToString();
            partner.Last_name = reader["last_name"].ToString();
            partner.First_name = reader["first_name"].ToString();
            partner.Pay_rate = (double)reader["pay_rate"];
            partner.Active = reader["active"].ToString();
        }
        else
        {
            partner.Code = code;
            partner.Last_name = "Not Found";
        }

    }
    catch (SQLiteException ex)
    {
       throw ex;
    }
    finally
    {
        connection.Close();
    }

    return partner;

} 

Respuestas a la pregunta(1)

Su respuesta a la pregunta