C # SQLite, banco de dados sendo deixado bloqueado após uma leitura

Eu li alguns dos posts relacionados sobre isso e não entendi direito. O que está acontecendo é que, após esse acesso ao banco de dados, o banco de dados fica bloqueado para que possa ser lido, mas não gravado. Após sair do aplicativo, o banco de dados é desbloqueado novamente. Você pode olhar para ele e falar comigo como se eu fosse ignorante, aponte o erro da minha maneira de lidar com isso?

 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;

} 

questionAnswers(1)

yourAnswerToTheQuestion