Ok, supongo entonces que ahora quedaría algo así como este ejemplo:
 
conexion.php    
Código PHP:
Ver original- // Nueva conexión singleton 
- class Conexion { 
-   
-     // Crea solo una instancia de la clase (patrón Singleton) 
-     private static $_instance = false; 
-   
-     public static function conectar() { 
-   
-         // Verificar si no se ha realizado la conexión 
-         if(self::$_instance === false) { 
-             // Conectamos a la base de datos 
-             try { 
-                 // Verifico que los parámetros sea correctos. 
-                 self::$_instance = new PDO("mysql:host=localhost;dbname=nombrebd", 
-                         "root", 
-                         "", 
-                         array(- PDO ::ATTR_ERRMODE =>-  PDO ::ERRMODE_EXCEPTION,
 
-                               PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8") 
-                         ); 
-                  
-                 //Intento ver en el código fuente las actuales conexiones a la BD. 
-                 echo "Acabo de conectarme FW final"; 
-   
-             } catch (PDOException $e) { 
-                 //Manejo de errores, esto solo es ejempl.o 
-                 die('No se puede establecer una conexión a base de datos.'); 
-             } 
-         } 
-   
-         return self::$_instance; 
-          
-     } 
-   
- } 
productos-modelo.php    
Código PHP:
Ver original- <?php 
-   
- require_once "conexion.php"; 
-   
- class ModeloProductos{ 
-   
-     /*============================================= 
-     MOSTRAR CATEGORÍAS 
-     =============================================*/ 
-   
-     static public function mdlMostrarCategorias($tabla, $item, $valor){ 
-   
-         if($item != null){ 
-   
-             $stmt = Conexion::conectar()->prepare("SELECT * FROM $tabla WHERE $item = :$item");          
-   
-             $stmt -> bindParam(":".$item, $valor, PDO::PARAM_STR); 
-   
-             $stmt -> execute(); 
-   
-             return $stmt -> fetch(); 
-   
-         }else{ 
-   
-             $stmt = Conexion::conectar()->prepare("SELECT * FROM $tabla");           
-   
-             $stmt -> execute(); 
-   
-             return $stmt -> fetchAll();          
-   
-         } 
-          
-         $stmt -> close(); 
-   
-         $stmt = null; 
-   
-     } 
-   
- /*============================================= 
- MOSTRAR SUB-CATEGORÍAS  
- =============================================*/ 
-   
-     static public function mdlMostrarSubCategorias($tabla, $item, $valor){   
-   
-         $stmt = Conexion::conectar()->prepare("SELECT * FROM $tabla WHERE $item = :$item"); 
-   
-         $stmt -> bindParam(":".$item, $valor, PDO::PARAM_STR); 
-   
-         $stmt -> execute(); 
-   
-         return $stmt -> fetchAll();      
-   
-         $stmt -> close(); 
-   
-         $stmt = null; 
-   
-     } 
Ahora parece que va todo perfectamente e incluso que solo aparece en total una vez "Acabo de conectarme FW final" como aviso de conectado. 
También me han sugerido otra opción que aun no he logrado adaptar bien a este método que sería con 
PDOStatement::closeCursorphp 
¿Alguna otra sugerencia o mejora o ya con esto estaría todo arreglado? 
Gracias de nuevo. 
Saludos.