Faits :
A.
A._, né en 1953, a travaillé en qualité de médecin au service de l'Hôpital B._ à partir du 1er mars 1985. A ce titre, il était assuré pour la prévoyance professionnelle auprès de la Caisse de prévoyance du personnel de l'État de Fribourg (ci-après: la caisse).
Le 24 octobre 2017, A._ a adressé à son employeur sa démission et son départ à la retraite pour le 30 avril 2018. Par contrat de travail du 14 décembre 2017, il a été engagé en tant que médecin-adjoint auprès de service de radiologie de l'Hôpital B._ à 50 % du 1 er mai 2018 au 30 avril 2020. Les rapports de travail ont cessé au 31 octobre 2019.
Le 25 mai 2018, la caisse a informé l'assuré qu'il bénéficierait à partir du 1er mai 2018 d'une pension mensuelle de 4365 fr. 20 et d'un capital de retraite de 286'288 fr. 90. Par lettre du 16 avril 2019, l'assuré a demandé à la caisse de lui communiquer les règles applicables au calcul des prestations de vieillesse. Un désaccord est alors survenu entre les parties, l'assuré ayant contesté le non-versement de la rente complète et de la totalité du capital, ainsi que son affiliation obligatoire au-delà de l'âge légal de la retraite. Par lettre du 4 décembre 2019, l'assuré a fait valoir une prétention de 103'349 fr. 07 auprès de la caisse, constituée de 11'820 fr. 90 au titre de paiement indu de la cotisation de prévoyance professionnelle, de 78'573 fr. 50 à titre de pensions non perçues du mois de mai 2018 au mois d'octobre 2019, de 8645 fr. 92 à titre de rendement du demi-capital non perçu fixé à 2 % sur 18 mois et de 4308 fr. 65 à titre d'intérêt de retard de paiement au taux de 1 %.
B.
Le 14 janvier 2020, A._ a ouvert action contre la caisse devant le Tribunal cantonal du canton de Fribourg, Cour des assurances sociales, en concluant au paiement de la somme de 103'349 fr. avec intérêts à 5 % l'an dès le 1er novembre 2019.
La caisse a conclu à l'irrecevabilité de la demande en raison de l'incompétence du tribunal, subsidiairement à son rejet.
Par arrêt du 2 octobre 2020, la juridiction cantonale a rejeté l'action, pour autant que recevable, et mis les frais de justice par 500 fr. à charge du demandeur.
C.
A._ interjette un "recours de droit public" contre cet arrêt dont il demande l'annulation et la modification, en ce sens que la caisse soit astreinte à lui verser le montant de 103'349 fr. avec intérêts à 5 % l'an dès le 1er novembre 2019.
L'intimée conclut au rejet du recours. L'Office fédéral des assurances sociales a renoncé à se déterminer.

Considérant en droit :
1.
Le recours en matière de droit public peut être formé pour violation du droit, tel qu'il est délimité par les art. 95 et 96 LTF. Le Tribunal fédéral applique le droit d'office (<ref-law>), sans être limité par les arguments de la partie recourante ou par la motivation de l'autorité précédente. Le Tribunal fédéral n'examine en principe que les griefs invoqués, compte tenu de l'exigence de motivation prévue à l'<ref-law>, et ne peut aller au-delà des conclusions des parties (<ref-law>). Il fonde son raisonnement sur les faits retenus par la juridiction de première instance (<ref-law>) sauf s'ils ont été établis de façon manifestement inexacte ou en violation du droit au sens de l'<ref-law> (<ref-law>).
2.
Compte tenu des conclusions et des motifs du recours, le litige porte sur le paiement de 103'349 fr. à charge de la caisse pour le dommage subi par le recourant du fait de son affiliation à la prévoyance après l'âge ordinaire de la retraite.
3.
Les premiers juges ont exposé de manière complète les dispositions légales et réglementaires applicables à la solution du litige, en particulier les art. 2 al. 1, 10 al. 2, 13 al. 1 et 2, et 33b LPP, ainsi que les art. 4 al. 2, 45 et 46 du Règlement du 22 septembre 2011 sur le régime de pensions de la Caisse de prévoyance du personnel de l'État [de Fribourg] (RRP).
A la suite de l'instance précédente, on rappellera en particulier que, selon l'<ref-law>, les hommes ont droit à des prestations de vieillesse dès qu'ils ont atteint l'âge de 65 ans. Il est précisé à l'<ref-law> qu'en dérogation à l'al. 1, les dispositions réglementaires de l'institution de prévoyance peuvent prévoir que le droit aux prestations de vieillesse prend naissance dès le jour où l'activité lucrative prend fin. Le taux de conversion de la rente (art. 14) est alors adapté en conséquence.
Par ailleurs, à teneur de l'<ref-law> (activité lucrative après l'âge ordinaire de la retraite), l'institution de prévoyance peut prévoir dans son règlement la possibilité pour les assurés de demander le maintien de leur prévoyance jusqu'à cessation de leur activité lucrative, mais au plus tard jusqu'à l'âge de 70 ans. La caisse intimée a fait usage de cette faculté à l'art. 4 al. 2 RRP (début et fin de l'assurance). D'après cette disposition réglementaire, l'assurance prend fin à compter de la résiliation des rapports de service, pour autant que la personne démissionnaire ne soit pas au bénéfice de prestations de vieillesse, d'invalidité ou de survivants de la Caisse, mais au plus tard à l'âge de 70 ans révolus (...). On ajoutera que selon l'art. 46 al. 1 RRP (retraite partielle), dès l'âge de 58 ans révolus, la personne assurée peut, d'entente avec son employeur, demander à être mise au bénéfice d'une pension partielle de retraite correspondant à 60 % au plus d'une activité complète, à condition que son activité soit réduite dans la même proportion.
4.
En bref, les premiers juges ont retenu que le recourant avait fait totalement l'impasse sur l'<ref-law> alors qu'on se trouve dans le cas où le droit à la prestation de vieillesse a été reporté. A ce sujet, ils ont rappelé que la somme revalorisée restante des salaires assurés, augmentée de la revalorisation et des salaires assurés futurs, servirait de base au calcul des pensions partielles suivantes, conformément aux art. 45 et 46 RRP et à l'annexe 3 du RRP; ainsi en contrepartie d'une couverture d'assurance, les cotisations étaient dues tant que les rapports de travail perdureraient. L'instance précédente a dès lors admis que l'art. 4 al. 2 RRP n'est pas contraire à la loi en tant qu'il prévoit la possibilité d'ajourner la rente postérieurement à l'âge de la retraite mais au plus tard à l'âge de 70 ans.
Dans la présente affaire, la poursuite de l'activité lucrative à 50 %, à teneur du contrat de travail du 14 décembre 2017, a eu pour conséquence l'obligation pour le recourant de cotiser à la prévoyance professionnelle dans cette mesure, parallèlement à l'octroi de la pension et du capital de retraite dans la même proportion (50 %). Comme l'intimée avait calculé les prestations de vieillesse et fixé les cotisations conformément aux dispositions applicables, la demande du recourant s'avérait infondée.
Pour le surplus, les premiers juges ont considéré que la demande était téméraire, compte tenu des dispositions légales, réglementaires et de la jurisprudence applicables, ainsi que des multiples explications de l'intimée. Cela justifiait de mettre les frais de justice à charge du recourant, en vertu d'un principe général du droit fédéral des assurances sociales (<ref-ruling> consid. 3c).
5.
Le recourant invoque une constatation arbitraire des faits (art. 9 Cst.) en relation avec la violation de l'<ref-law>. En bref, il soutient que s'il avait été obligé de signer le contrat de travail, il n'avait pas pour autant accepté d'être soumis à l'obligation de cotiser auprès de l'intimée après avoir atteint l'âge de la retraite.
Par ailleurs, le recourant affirme que la faculté conférée par l'<ref-law> permet exclusivement la poursuite d'une prévoyance professionnelle volontaire. A son avis, l'instance précédente aurait dû admettre que le caractère obligatoire d'une affiliation au-delà de l'âge légal de la retraite de l'art. 4 al. 2 RRP viole le droit fédéral.
Il en déduit que le tribunal cantonal a méconnu la question à résoudre, ce qui l'a conduit à admettre à tort qu'il aurait fait preuve de témérité.
6.
6.1. Le recourant a signé sans réserve le contrat de travail du 14 décembre 2017 dans lequel les déductions légales étaient mentionnées, notamment à la caisse de prévoyance (cf. ch. 8 du contrat). De plus, il était stipulé dans ledit contrat que les honoraires étaient soumis, le cas échéant, à l'AVS/AI/APG/AC, à la retenue pour l'assurance-accidents et à la prévoyance professionnelle (LPP) selon les dispositions légales et règlements en vigueur (cf. ch. 6.5 de l'annexe n° 1 au contrat de travail relative aux honoraires du 14 décembre 2017).
L'argument tiré d'une prétendue contrainte d'accepter les termes du contrat du 14 décembre 2017 apparaît pour le moins singulier, car il était loisible au recourant de renoncer à poursuivre son activité aux conditions proposées si elles ne lui convenaient pas, et de quitter ses fonctions à l'âge ordinaire de la retraite. Quoi qu'il en soit, le recourant a travaillé à temps partiel au service de l'Hôpital B._ à partir du 1 er mai 2018 en touchant sa rente partielle de vieillesse, soit durant près d'une année avant de réclamer des explications sur les règles applicables à la fixation de ses prestations de vieillesse, par lettre du 16 avril 2019. En d'autres termes, dans cet intervalle, il s'est tacitement (et donc volontairement) soumis à la réglementation qu'il conteste aujourd'hui, de sorte que le procédé peut susciter des interrogations sous l'angle de la bonne foi.
6.2. Dans sa réponse, l'intimée relève à juste titre que les règlements des institutions de prévoyance peuvent se baser sur l'<ref-law> pour prévoir un âge de la retraite plus élevé que l'âge légal à condition que la personne assurée poursuive son activité lucrative (cf. arrêt 9C_770/2007 du 14 mars 2008 consid. 3.4). Cela est précisément le cas en l'espèce, en vertu de l'art. 4 al. 2 RRP qui n'apparaît pas contraire au droit fédéral (voir les art. 13 al. 2 et 33b LPP).
Ayant choisi de bénéficier d'une pension de retraite partielle servie par l'intimée et de poursuivre son activité lucrative à temps partiel au service du même employeur, le recourant est donc resté assuré pour son activité lucrative résiduelle auprès de l'intimée. Il pouvait conserver ce statut au plus tard jusqu'à l'âge de 70 ans, ainsi que l'intimée l'a prévu dans son règlement en faisant usage de la faculté conférée par l'<ref-law>. Quant à la pension servie à partir du 1 er mai 2018, elle a été réduite dans la même proportion que l'activité déployée à compter de cette date, conformément à l'art. 46 al. 1 RRP (cf. <ref-law>).
6.3. Vu ce qui précède, les prétentions du recourant (restitution du paiement des cotisations de prévoyance professionnelle dès mai 2018, paiement des pensions non perçues de mai 2018 à octobre 2019, paiement du rendement du demi-capital non perçu sur 18 mois, ainsi que d'intérêts de retard) s'avèrent totalement infondées.
6.4. En procédure cantonale, le recourant a disposé de toutes les informations nécessaires au règlement du litige, en particulier sur l'obligation de cotiser à la prévoyance professionnelle et sur le montant des prestations de vieillesse auxquelles il avait droit en continuant de travailler à temps partiel.
On ne saurait dès lors reprocher à l'instance précédente d'avoir arbitrairement retenu qu'il avait procédé devant elle de façon téméraire, de sorte que la mise à sa charge des frais de procédure à concurrence de 500 fr. n'apparaît pas contraire au droit fédéral (cf. <ref-law> et <ref-ruling> consid. 3c).
7.
Le recourant, qui succombe, supportera les frais de la procédure (<ref-law>).
L'intimée, qui a conclu à l'octroi de dépens, n'y a pas droit (<ref-law>).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté.
2.
Les frais judiciaires, arrêtés à 500 fr., sont mis à la charge du recourant.
3.
Il n'est pas alloué de dépens.
4.
Le présent arrêt est communiqué aux parties, au Tribunal cantonal du canton de Fribourg, Cour des assurances sociales, et à l'Office fédéral des assurances sociales.
Lucerne, le 9 novembre 2021
Au nom de la IIe Cour de droit social
du Tribunal fédéral suisse
Le Président : Parrino
Le Greffier : Berthoud